2014-10-31 3 views
0

Я пытаюсь связать с сторонней библиотекой, использующей eclipse. Я создал библиотеку и указал, где она находится на моей машине, используя свойства/пути и символы/библиотеки. В этом меню я использовал gui для выбора местоположения файла .a. Тем не менее, при работе я все еще получаю сообщение об ошибке:ld: библиотека не найдена для - Eclipse

ld: library not found for -l/path_to_library_that_I_selected... 

Любые мысли о том, что может быть причиной этого/что-то попробовать?

Приветствия

+0

Когда вы добавили библиотеку, вы фактически не включают '-l'? –

+0

Нет, использовали gui. – user3684792

+0

команда: g ++ -o "output" ./src/output.o -l/sweetlibrary.a – user3684792

ответ

3

Вы, вероятно, нужно добавить -L (CAPITAL L) флаг, чтобы указать путь к библиотеке, как -L /my/path/to/library (как я считаю, что не установлен в стандартном месте, как/USR/местные/Библиотека). -l Флаг предназначен только для имени библиотеки, а не для пути. Перейдите к Project Options/C++ linker, затем вы можете добавить туда флаги в разделе «Библиотеки» и «Путь поиска библиотеки».

Скриншот Пример:

enter image description here

+0

Вы добавляете * каталог * для поиска с помощью '-L/some/path/dir /', а не одного файла библиотеки ... –

+0

Да, библиотеки внутри/some/path/dir/должны быть видны для компоновщика, включая конкретную библиотеку (в случае OS X вы также должны указать DYLD_LIBRARY_PATH как переменную среды, но это уже другая история. ..) Вы выбираете библиотеку с флагом '-l'. Что-то не так с этим? – vsoftco

+0

ОК, я сделал выше, но все тот же самый. теперь команда g ++ -L/path -o «output» ./src/output.o -llibrary.a – user3684792

Смежные вопросы