ошибка / usr / bin / ld: не удается найти -lmylibrary - PullRequest
1 голос
/ 05 ноября 2010

привет, у меня есть эта ошибка как в eclipse, так и в netbeans, у меня есть файл mydynamiclib.so, когда я добавляю его в eclipse или netbeans и пытаюсь создать, я получаю эту ошибку netbeans:

collect2:ld вернул 1 состояние выхода

make [2]: * [dist / Debug / GNU-Linux-x86 / myapp] Ошибка 1

/ usr / bin / ld: не могу найти -lmydynamiclib

Я использую самые последние версии (Ubuntu 10.10, netbeans, eclipse)

Ответы [ 2 ]

1 голос
/ 05 ноября 2010

Вам нужен файл libmydynamiclib.a , а также файл .so, и вы должны указать ld или gcc, где его тоже найти.

например gcc -o myapp -L/path/to/lib -lmydynamiclib

где libmydynamiclib.so находится в /path/to/lib.

В противном случае не связывайте библиотеку, а используйте dlopen () для ее динамической загрузки.См. Справочную страницу dlopen ().

0 голосов
/ 05 ноября 2010

Компоновщик не может найти вашу разделяемую библиотеку в своем пути поиска.Если вы добавите каталог, в котором находится ваша разделяемая библиотека, в переменную окружения LD_LIBRARY_PATH, компоновщик найдет ее и сможет ссылаться на нее.

...