![]() |
|
Модераторы: xvr |
![]()
|
|
| EvgeniyK77 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 19.8.2006 Репутация: нет Всего: нет |
Привет!
Недавно занялся программированием под 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 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 6.6.2006 Где: Donetsk Репутация: нет Всего: 1 |
Это нормальное поведение gcc..
|
||||||
|
|||||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 4 Всего: 317 |
видимо пришло время познакомиться с разницей между статическим архивом функлий *.a и динамически связываемой библиотекой, *.so
пока. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |