| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Ошибка компиляции |
| Автор: РомаБонд 23.7.2006, 10:14 |
| изучаем в универе TurboC++(3.0).у меня на компе установлено 3 TurboC++ взятых из разных источников.ввожу программу текст которой ниже: #include<stdio.h> void main() { int i; char s[30]; printf("введите строку"); scanf("%s",s); for(i=0;s[i]!='\0';i++) printf("длина=%d",i); } Результат в каждом из установленных С++ одинаков,везде выдаёт следующую ошибку:Unable to open file 'C0S.OBJ'.Директории у меня прописаны следующим образом:C:\TC\INCLUDE\ C:\TC\LIB\CLASSLIB\ C:\TC\LIB\ C:\TC\RESEARCH. ЧТО МНЕ ДЕЛАТЬ????? |
| Автор: ptr 23.7.2006, 11:32 |
| 1. А сам файл то существует? 2. Ты уверен, что всё правильно прописано? |
| Автор: BreakPointMAN 23.7.2006, 12:09 |
| Во-первых, нужно корректно установить (распаковать, скопировать) сам Turbo C++. Так, чтобы не было каши, чтобы не были свалены в одну папку файлы разного типа и назначения. Во-вторых, нужно корректно прописать пути в настройках Turbo C++. Это делается через меню Options|Directories.... В появившемся диалоговом окне должно быть 4 поля ввода: Include Directories: здесь указывается путь к папке, в которой располагаются стандартные заголовочные файлы. Это файлы, которые подключаются директивой препроцессора #include, например, в твоей программе это файл "stdio.h. Кроме него в папке должно лежать много других *.h-файлов. Library Directories: здесь указывается путь к папке, в которой располагаются объектные файлы со стартовым кодом (это файлы с расширением .obj, к которым,в том числе, относится и твой злополучный "c0s.obj") и run-time библиотеки *.lib. Output Directory: это папка, в которую будут сохраняться *.obj, *.exe, *.map -файлы, полученные в результате компиляции и линковки. Source Directories: это папка, в которой лежат файлы с исходным кодом твоей программы (это файлы *.h, *.cpp, *.c и т.д.) В принципе, во всех полях ввода, кроме Output Directory, можно указывать не одну, а несколько папок, разделяя пути символом точки с запятой ;. Все указанные пути должны быть фактическими, т.е. обязаны существовать на жестком диске, и по ним должны лежать файлы соответствующих типов. Допустим, ты установил Turbo C++ в папку "C:\TC", в этой папке у тебя есть вложенные папки INCLUDE, LIB, OUTPUT и SOURCE, причем в них лежат файлы именно таких типов, как оговорено выше. Тогда ты прописываешь пути следующим образом: Include Directories: C:\TC\INCLUDE Library Directories: C:\TC\LIB Output Directory: C:\TC\OUTPUT Source Directories: C:\TC\SOURCE Последние две папки я люблю совмещать в одну "C:\TC\WORK". Добавлено @ 12:13 Кстати, иногда программы ругаются на невозможность найти или открыть файл, если у него стоят атрибуты "скрытый" или "системный", попробуй снять эти атрибуты у всех файлов. Добавлено @ 12:17 ЗЫЖ по поводу того, что у тебя имеется ошибка в программе (не поставлена точка с запятой) я тебе уже говорил на другом форуме. |
| Автор: РомаБонд 23.7.2006, 12:41 |
| Спасибо за подробную инструкцию. |
| Автор: РомаБонд 24.7.2006, 12:55 |
| Согласнотвоим рекомендациям прописал в Include Directories все пути к папкам в которых только смог найти .h файлы: C:\С+\TC\INCLUDE;C:\C+\TC\EXAMPLES;C:\C+\TC\INCLUDE\SYS;C:\C+\TC\CLASSLIB\INCLUDE В Library Directories все пути к файлам obj и lib:C:\C+\TC\CLASSLIB\LIB;C:\C+\TC\LIB В Output Directory : C:\С+\TC\OUTPUT В Source Directories:C:\C+\TC\SOURCE(причём папок SOURCE две-одна в C:\C+\TC\,а другая в C:\C+\TC\CLASSLIB,прописал только первую.) РЕЗУЛЬТАТ:UNABLE TO OPEN FILE 'C0S.OBJ' атрибутов "скрытый" или "системный" в свойствах этого файла нет. |
| Автор: dumb 24.7.2006, 13:08 |
| попробуй переставить TC еще разок, только на этот раз не надо ставить "+" в имени папки - сделай, как тебе советовали: "C:\TC" |
| Автор: РомаБонд 24.7.2006, 13:51 |
| У меня несколько С++ (скачанные и сдиска) , что бы их не путать , они лежат в папках с разными именами , тот в котором выполнялись "прописки" , лежит в папке "С+ " |
| Автор: BreakPointMAN 24.7.2006, 19:47 |
| Не все программы хорошо переносят русские буквы, пробелы и специальные символы в именах файлов и путях. Чтобы быть наверняка уверенным, что проблема не в этом, используй только символы латиницы. Кстати, общепринятое сокращение "C++" - "cpp". |
| Автор: РомаБонд 25.7.2006, 09:56 |
| установил TURBO C++ ещё раз с диска - всё работает,но не понятно почему не работали скачанные с инета программы?????!!Всем кто помогал -большое спасибо! |