| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > GNU toolchain > No such file or directory |
| Автор: mekhanikus 4.9.2009, 13:48 | ||||
| CodeBlock 8.02, GNU GCC 3.4.5 Compiler. Сделал заготовочку в виде класса. Скомпилил, проверил - все ОК. В заголовке класса инклюды:
Копирую файлы заготовки в другой проект, получаю:
Ничего не понимаю. |
| Автор: andrew_121 4.9.2009, 14:15 |
а другой проект С++ ? или Си ? еще что-то с компилятором. мингв сам знает где лежат стандартные хидеры/библиотеки. |
| Автор: Romikgy 4.9.2009, 14:16 |
видать это забыл перенести PS и учитесь , выкладывать код где ошибка , а не только ошибки перечислять , кто знает что вы там намутили.... |
| Автор: andrew_121 4.9.2009, 14:50 |
Да нет же. Он как раз есть. Это в нем ошибки. |
| Автор: Romikgy 4.9.2009, 19:27 |
| ну и покажи его .... |
| Автор: andrew_121 4.9.2009, 22:48 |
это ты мне? нет у меня этого файла. |
| Автор: Romikgy 6.9.2009, 14:55 |
сорри andrew_121 почему то решил , что ты топикстартер... |
| Автор: ller 7.9.2009, 12:25 |
| Кстати, MinGW может быть чувствительным к регистру и файлы Calendar.h и CALENDAR.h, это разные файлы как во всех *nix-ах |
| Автор: mekhanikus 7.9.2009, 13:16 |
В этом плане все в порядке. Компилятор видит файл "CALENDAR.h" и ругается если его удалить или переименовать. Ругается именно на инклюды. Создание нового проекта не помогает. Может есть какое-то ограничение на глубину вложений? Если добавить инклюд "CALENDAR.h" непосредственно в main.h, то в main.cpp можно использовать классы"Календаря". Никаких "Но сач". А у меня в "маин" доложен вызываться диалог, основаный на "CALENDAR.h". Причем, отдельно диалог работает. Даже незнаю, что еще предположить. |
| Автор: andrew_121 7.9.2009, 13:34 | ||
Хотелось бы. Но к сожалению, мингв этого не делает. |
| Автор: mekhanikus 7.9.2009, 14:09 | ||
| Короче, Сделал пустой проект - диалог с двумя кнопками. Скомпилил, все ОК. Добавляю "CALENDAR.h" в "main.h". Получаю... догадайтесь с трех раз... Правильно!!!
Переношу "CALENDAR.h" в "main.cpp", получаю - "0 errors, 0 warnings" Может я что не так делаю? Может я чего не правильно понимаю? |
| Автор: andrew_121 7.9.2009, 14:22 |
| mekhanikus, покажи весь файл. |
| Автор: mekhanikus 7.9.2009, 15:37 | ||
Вот:
Это, конечно, только скелет, чтоб проще разбираться. Но ошибки выдает как надо. |
| Автор: andrew_121 7.9.2009, 15:42 |
В main.h поставь стражи типа этих. Только имя поменяй. Добавлено через 59 секунд это убери. |
| Автор: mekhanikus 7.9.2009, 15:45 | ||
Тра-ля-ля,тра-ля-ля |
| Автор: bsa 7.9.2009, 21:56 |
| mekhanikus, проверь каким компилятором компилируется исходник. Возможно, ты пытаешься компилировать сишным компилятором, а не С++. Кстати, вывод ошибок какой-то странный. |
| Автор: Anikmar 7.9.2009, 22:04 |
| Попробуйте в файле calendar.h заменить строки #include <string> #include <sstream> #include <iomanip> на строки #include <string.h> #include <sstream.h> #include <iomanip.h> |
| Автор: xvr 8.9.2009, 10:08 | ||||
#include "main.h" из .rс файла убрал? |
| Автор: mekhanikus 8.9.2009, 11:00 | ||||
И при перемещении "calendar.h" из main.h в main.cpp компилятор меняется? Если это удалить, то получается "syntax error", ругается на BTN_TEST и BTN_QUIT. Добавлено через 4 минуты и 10 секунд Получаем:
|
| Автор: Anikmar 8.9.2009, 11:18 |
| Видимо все дело в смешении различных вариантов #include - в стиле C и С++ |
| Автор: mekhanikus 8.9.2009, 11:24 | ||
А поточнее? Как сделать в одном стиле? |
| Автор: Anikmar 8.9.2009, 11:27 |
К сожалению данный компилятор я не знаю. Это чисто догадка - после предложенных мной исправлений характер ошибок поменялся, значит копать надо в этом направлении. Может быть настройка путей, может быть режимы совместимости. Где-то там, мне кажется. |
| Автор: andrew_121 8.9.2009, 12:24 |
| Это превосходный компилятор. все файлы в архив, выстави его куда-то. |
| Автор: mekhanikus 8.9.2009, 13:15 |
Донт андестенд |
| Автор: andrew_121 8.9.2009, 13:24 |
| http://rghost.ru/ |
| Автор: mekhanikus 8.9.2009, 13:47 |
| Вот: http://rghost.ru/447685 |
| Автор: Romikgy 8.9.2009, 14:38 | ||
? |
| Автор: andrew_121 8.9.2009, 14:55 |
| Romikgy, он mingw использует. имена файлов правильные. |
| Автор: bsa 8.9.2009, 20:08 |
| mekhanikus, создай еще один файл resource.h. В него пропиши все дифайны (BTN_TEST, BTN_QUIT и др.) из main.h. Инклюдь этот файл в resource.rc и main.cpp (и/или CALENDAR.cpp, если в нем используется эти дифайны). Вся проблема в том, что ты не в том хидере расположил определения для ресурсов, потому что хидеры подключаемые в *.rc должны иметь только дифайны, а ты в нем инклюдил еще и стандартные заголовочные файлы, содержимое которых rcc (или winres? - короче компилятор ресурсов) понятия не имеет как обрабатывать. |
| Автор: xvr 8.9.2009, 20:10 | ||
А если не удалить, то получается то, что получается Сделай отдельный хидер с ресурсами (твои BTN_TEST и BTN_QUIT) и включай его в main.h и в .rc (вместо main.h) Смешивание С и С++ тут не при чем Опередили |
| Автор: mekhanikus 9.9.2009, 13:36 |
ОК! Будем попробовать. |
| Автор: mekhanikus 9.9.2009, 14:10 |
| Со "скелетом" получилось!!! Пойду разгребать свои "авгиевы конюшни". P.S. А ведь и правда, все началось после того, как я перенес из *.срр в хидер календаря обьявления функций вместе с инклюдами. А этот хидер уже был подключен в ресурсах календаря. |
| Автор: mekhanikus 10.9.2009, 13:53 |
| Всем спасибо! Все заработало. Будем двигаться дальше. Уже не за горами новые препоны, которые нужно преодолеть. |