| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > gcc проблемы с подключением библиотек |
| Автор: EvgeniyK77 19.8.2006, 08:20 |
| Привет! Недавно занялся программированием под QNX 6 (компилятор gcc (версия 2.xxx)). И столкнулся с проблемой подключения библиотек (если они пользуются функциями друг друга) при создании исполняемого файла. Вот простой пример. - Создал библиотеку 1 (libsimple1.a). Пусть она состоит из единственной функции int Fun1(), которая просто вернёт единицу. - Создал библиотеку 2 (libsimple2.a). Она также включает в себя единств. ф-ю int Fun2(). Но эта ф-я пользуется ф-й Fun1 из первой библиотеки, например возвращает Fun1() + 2. - Теперь пытаюсь собрать программу (simple_prog), которая ... да хоть просто распечатает то, что вернёт Fun2 из второй библиотеки. Так вот, если в строке линковки этой simple_prog указать сначала -lsimple2 -lsimple1, то всё прекрасно линкуется, а если библиотеки поменять местами (-lsimple1 -lsimple2), то линковщик выдаёт undefined reference. Так вот вопрос то. Как указать линковщику, что бы он "лучше" просматривал подключаемые библиотеки? PS Реально ситуация неприятнее. У меня есть три библиотеки и они пользуются функциями друг друга. Когда компилировал watcom-овским компилятором под QNX 4, то проблем не было. |
| Автор: Serge 19.8.2006, 11:05 | ||||||
Это нормальное поведение gcc..
|
| Автор: bilbobagginz 19.8.2006, 17:42 |
| видимо пришло время познакомиться с разницей между статическим архивом функлий *.a и динамически связываемой библиотекой, *.so пока. |