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

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