Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > проблемы с поиском путей при компиляции |
Автор: mantissa 29.4.2008, 14:51 | ||
Привет Великому ALL!!! подскажите плиз, кто сталкивался как преодолеть: gcc version 3.3.3 (SuSE Linux) на строку :
выдает : In file included from ./../after_bl4_ZS.ec:6: ../t_MT102.h:1:18: vector: No such file or directory в ".profile" путь .....:/usr/include/g++:.:$PATH , где находится файл "vector" прописывал как его заставить видеть пути к своим папкам? |
Автор: JackYF 29.4.2008, 15:04 |
Хм... а покажи-ка командную строку вызова. Кроме того, обновил бы ты GCC, старенькая больно версия у тебя. |
Автор: mantissa 30.4.2008, 14:42 | ||
при проведении доп. тестов обнаружил, что если компилируемый файл в которов инклюдиться *.h с <vector> имеет расширение '.cpp', то gcc компилит, все находит и "на жизнь не жалуется", если же расширение просто '.c', то не находит... эт ладно... переименую я необходимые файлы после "esql", но Линковщик то все равно чего-й то не находит: /tmp/ccVj0PFw.o(.gnu.linkonce.t._ZNSt14__simple_allocIiSt24__default_alloc_templateILb1ELi0EEE8allocateEm+0x28): In function `std::__simple_alloc<int, std::__default_alloc_template<(bool)1, (int)0> >::allocate(unsigned long)': : undefined reference to `std::__default_alloc_template<(bool)1, (int)0>::allocate(unsigned long)' /tmp/ccVj0PFw.o(.gnu.linkonce.t._ZNSt14__simple_allocIiSt24__default_alloc_templateILb1ELi0EEE10deallocateEPim+0x28): In function `std::__simple_alloc<int, std::__default_alloc_template<(bool)1, (int)0> >::deallocate(int*, unsigned long)': : undefined reference to `std::__default_alloc_template<(bool)1, (int)0>::deallocate(void*, unsigned long)' /tmp/ccVj0PFw.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status
наш админ по поводу поновейшей версии пробурчал чей-то невразумительное... впрочем на свой тестовый сервер могу поставить все, что угодно... что из нового и стабильного Вы мне порекомендуете? спасибо за участие с ув. BSD |
Автор: Бонифаций 30.4.2008, 15:03 |
1) вы используете gcc или g++ для компиляции? 2) судя по заголовку это явно c++. ПОчему расширение .c ? Тогда нужно .cc или .cpp чтобы gcc понимал что это вы писали на c++ а не на c. 3) у вас c++ дела все установлены? не помню как в suse, в дебианоподобных это libstdc++ пакет Добавлено через 1 минуту и 19 секунд а gcc у вас и правда... не новенький. Сейчас уж версия 4 во всю рулит |
Автор: JackYF 30.4.2008, 17:52 |
Что весьма логично - нефиг давать файлам с исходниками на С++ расширение '.c'. |
Автор: mantissa 1.5.2008, 15:00 |
Всем привет! какая разница gcc как обзывается расширение у файла? например у майкрософтовского компилятора (и 6.0 и .NET 2003) {кста.. эт ничего, что я тута чужих вспоминаю ![]() после ESQL из файлов .ec получаются .c (в которых кстати куча C++ кода) и никаких проблем.... нормально компилирует ну да ладно... извращюсь я и укажу ESQL-ю, чтобы он gcc не вызывал. Переименую все файлы в .cpp (раз gcc такой привередливый)... но проблема у Линковщика... он не находит функций C++ в своих библиотеках, которыми gcc оперирует.... (вернее путей к библиотекам)... или может подскажите какой ему параметр подсунуть, чтоб нашел... с ув. BSD Добавлено через 1 минуту и 32 секунды или у 4-го таких проблем уже нету? |
Автор: Бонифаций 2.5.2008, 04:15 |
еще раз: 1) компилируйте с помощью g++ 2) проверьте что установлен libstdc++ |
Автор: mantissa 2.5.2008, 15:34 |
Всем привет! <<<Ошибки засекречены или выдашь?>>> ![]() ![]() на class, string и т.д. сообщения немножко другие, но сути не меняет... да libstdc++ установлена... ВАУ! спасибо за инфу... g++ не только компилит, но и правильные пути линковщику задает, или вообще другой линковщик использует... и напоследок, прежде чем тему закрыть... просветите меня плиз, зачем столько компиляторов разных...? я вроде читал, что у Linux-ов компилятор универсальный и один.... и почему на "cc", которую вызывает "esql" после обработки ".ec" файлов, ссылка на gcc стоит, а не на g++ ?? спасибо за помощь... с ув. BSD |
Автор: mantissa 8.5.2008, 15:28 |
Ok! |