/ usr / bin / ld: не могу найти -lemu - PullRequest
1 голос
/ 04 июня 2010

Я пытаюсь установить приложение. Во время компиляции происходит сбой со следующей ошибкой:

/usr/bin/ld: cannot find -lemu

Я установил библиотеку libemu, и сейчас она находится в / opt / libemu /. Однако, когда я пытаюсь скомпилировать свое приложение, библиотека не найдена. Есть ли способ исправить это?


РЕДАКТИРОВАТЬ: Это также выглядит как результат: Похоже, что файл make компилируется со следующим:

gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions 
build/temp.linux-x86_64-2.6/libemu_module.o 
-L/opt/libemu/lib -lemu -o build/lib.linux-x86_64-2.6/libemu.so

Я попытался установить для моего LD_LIBRARY_PATH значение / opt / libemu, все еще не работает - не удается с ошибкой, указанной выше.

Ответы [ 2 ]

2 голосов
/ 04 июня 2010

Вы должны указать компоновщику, где он находится:

gcc  stuff -L/opt/libemu -lemu

или:

gcc  stuff /opt/libemu/libemu.a

, где stuff - ваши обычные файлы опций компиляции / ссылки и т. Д.

Вы также можете указать пути к библиотекам в переменной среды LIBRARY_PATH:

LIBRARY_PATH=/opt/libemu
export LIBRARY_PATH

перед запуском сборки.Еще один вариант - посмотреть, где gcc ищет библиотеки, запустив:

gcc --print-search-dirs

и поместив вашу библиотеку в один из перечисленных каталогов.

Редактировать: Этодействительно не ясно из вашей последней информации, что вы пытаетесь построить.Вы пытаетесь превратить статическую библиотеку в общую библиотеку?Самое важное - Какое точное имя файла библиотеки вы скопировали в каталог / opt / libemu?

0 голосов
/ 04 июня 2010

Переменная среды LD_LIBRARY_PATH должна включать (но, вероятно, не по умолчанию) /opt/libemu.

попробуйте запустить:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libemu
make install
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...