Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как правильно подлючить библиотеку? Пути во время отладки верны, а так-нет 
V
    Опции темы
boostcoder
Дата 10.9.2011, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(ivanstanislavovich @  10.9.2011,  12:13 Найти цитируемый пост)
во всех случаях я имел ошибку "cannot find"

если ваша библиотека зовется liblib.so, то опцию нужно указывать так: -llib
если бы ваша библиотека звалась libmy.so, то опцию нужно указывать так: -lmy

Добавлено @ 12:25
т.е. вне зависимости от типа библиотеки(.a/.so) расширение указывать не нужно.
второе - библиотеки должны иметь префикс "lib". но при указании их линковщику, префикс указывать не нужно.

Это сообщение отредактировал(а) boostcoder - 10.9.2011, 12:26
PM WWW   Вверх
ivanstanislavovich
Дата 10.9.2011, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 16.8.2007
Где: Укр.Кривой Рог

Репутация: нет
Всего: нет



xvr
boostcoder
Спасибо Вам! Примного благодарен. Вашими советами!

Выходит так, нужно делать:
библиотеку называть с префиксом lib, но обращаться к ней без него, и без расширения (so, a). 
я же совершал сразу все ошибки, по не знанию
еще нужно в опциях линковщику задать "-Wl,-rpath=.", для того, что бы приложение искало библиотеки в своем корневом каталоге.

Недели возни и все из-за таких мелочей. Почему этого нет в мануалах? Я там находил как подключать библиотеки, но таких нюансов не было

Добавлено через 1 минуту и 13 секунд
newbee
kemiisto
Леопольд
Так же спасибо!
PM MAIL   Вверх
boostcoder
Дата 10.9.2011, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(ivanstanislavovich @  10.9.2011,  12:41 Найти цитируемый пост)
Почему этого нет в мануалах?

эм.. не помню что там есть... давно не читал.
PM WWW   Вверх
kemiisto
Дата 10.9.2011, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(ivanstanislavovich @  10.9.2011,  11:41 Найти цитируемый пост)
Недели возни и все из-за таких мелочей.

Это не мелочи. Это ублюдочно-тошнорвотная сишечная модель компиляции-линковки из прошлого тысячелетия.

Цитата(ivanstanislavovich @  10.9.2011,  11:41 Найти цитируемый пост)
Почему этого нет в мануалах?

Есть. А то откуда же люди знают?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
xvr
Дата 10.9.2011, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(ivanstanislavovich @  10.9.2011,  12:13 Найти цитируемый пост)
xvr, я не понял Вас.

Дайте полную командную строку линковки. Очень трудно догадаться что там не так не видя этого самого 'там'  smile 

Цитата(ivanstanislavovich @  10.9.2011,  12:13 Найти цитируемый пост)
Не моглибы Вы, xvr, предоставить мне информацию о "`"?

Это стандартная фича шела (да и make'а тоже). Строка внутри `` трактуется как команда, которая выполняется. То, что она выведет в стандартный поток вывода и будет использовано вместо всей конструкции ``
Например -
Код

ls -l `which g++`
найдет g++ на путях поиска и выведет полную информацию о файле
У меня (под cygwin'ом) это дает
Цитата

lrwxrwxrwx 1 Roman root 21 Apr 14 23:25 /usr/bin/g++ -> /etc/alternatives/g++

PM MAIL   Вверх
ivanstanislavovich
Дата 10.9.2011, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 16.8.2007
Где: Укр.Кривой Рог

Репутация: нет
Всего: нет



xvr, Спасибо Вам. Не беспокойтесь более об этом - вопрос уже разрешен. И спасибо за информацию о "`"
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0821 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.