LD не может найти общую библиотеку даже с опцией -l [Duplicate]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 LD не может найти общую библиотеку даже с опцией -l [Duplicate]

Сообщение Anonymous »

У меня есть проект C ++ с основным Makefile и двумя общими библиотечными подзаколами MakeFile , как ниже

Код: Выделить всё

proj
sub-dir1
src/
Makefile
abc.so (link file, links to abc.so.0.1)
abc.so.0 (link file, links to abc.so.0.1)
abc.so.0.1 (actual/regular file)
sub-dir2
src/
Makefile
def.so (link file, links to def.so.0.1)
def.so.0 (link file, links to def.so.0.1)
def.so.0.1 (actual/regular file)
Makefile
Общая библиотека Sub-Dir2 зависит от общей библиотеки sub-dir1 . Итак, чтобы связать эту библиотеку, я попытался дать путь с помощью -l $ (root_dir) ../ sub -dir1 опция и связывать его, как -labc в sub -dir2 makefile . Root_dir установлен на root_dir: = $ (dir $ (realpath $ (lastword $ (makefile_list)))) в начале sub-dir2 makefile . Но я получаю ошибку, подобную ниже, при составлении sub-dir2 Makefile

Код: Выделить всё

/usr/bin/ld: cannot find -labc: No such file or directory

Примечание: sub-dir1 Makefile успешно строит путем генерации библиотеки ABC общей библиотеки, а также необходимых файлов ссылок в библиотеке ABC . Я получаю эту ошибку при создании sub-dir2 makefile .

Подробнее здесь: https://stackoverflow.com/questions/796 ... h-l-option
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»