Ответ 1
Добавьте -L/opt/lib
к вашим параметрам компилятора, это заставит компилятор и компоновщик найти этот путь для libcalc.so
в этой папке.
Я создал файл .so
и поместил его в каталог /opt/lib
и добавил этот путь к LD_LIBRARY_PATH
теперь после этого, когда я пытаюсь скомпилировать свою основную программу с помощью следующей команды:
g++ -Wall -I/home/alwin/Development/Calculator/ main.cpp -lcalc -o calculator
Я получаю следующую ошибку:
/usr/bin/ld: cannot find -lcalc
collect2: ld returned 1 exit status
Может кто-то помочь мне с этим. Я создал общую библиотеку, используя кодовые блоки IDE
Добавьте -L/opt/lib
к вашим параметрам компилятора, это заставит компилятор и компоновщик найти этот путь для libcalc.so
в этой папке.
Вам нужно добавить -L/opt/lib
, чтобы сообщить ld
, чтобы посмотреть там для общих объектов.
@Alwin Doss Вы должны указать параметр -L перед -l. Скорее всего, вы бы покончили. Попробуйте следующее:)
Когда вы делаете вызов gcc, он должен сказать
g++ -Wall -I/home/alwin/Development/Calculator/ -L/opt/lib main.cpp -lcalc -o calculator
not -libcalc.so
У меня есть аналогичная проблема с автогенерированными make.
Вы можете создать мягкую ссылку из каталога компиляции в каталог библиотеки. Затем библиотека становится "локальной".
cd /compile/directory
ln -s /path/to/libcalc.so libcalc.so