У меня есть путь к проекту, где я создал исполняемый файл testsd:
Caspian@Caspian-VirtualBox:~/TestProject/build/linux/debug/bin/testsd
Каталог проекта и иерархия выглядит следующим образом:
/TestProject
|-build/linux/debug/bin
|-ExtLib/folder/lib(containing .a and .so files)
|-ExtLib/folder/src(containing multiple sub folders with .cpp files)
|-ExtLib/folder/include(containing multiple sub folders with .cpp files)
|-src(containing multiple sub folders with .cpp files and mainc.pp)
|-tests(containing Runtests.cpp and catch.hpp files)
Проблема в том, когда я запускаю этот исполняемый файл (./ testsd), Я сталкиваюсь со следующей ошибкой:
./testsd: error while loading shared libraries: libuastackd.so: cannot open shared object file: No such file or directory
libuastackd.so файлы содержатся в папках ExtLib / folder / lib и ExtLib / folder / src / stack / lib. Может кто-нибудь помочь, как я могу преодолеть эту проблему?
Спасибо рг
Вы могли бы установить LD_LIBRARY_PATH
среда соответственно.
Увидеть этот. Читать ld-linux.so (8).
Есть какой-то способ установить LD_LIBRARY_PATH
для всей вашей сессии, например редактируя соответственно ~/.login
или же ~/.bashrc
или же ~/.bashenv
или же ~/.profile
и т.д … и это изменит поведение любой программы, которую вы запускаете после, включая некоторые Eclipse IDE
Читать Дреппера Как писать общие библиотеки, особенно для других решений, например подходящее -Wl,-rpath
настройки (что, вероятно, то, что вы действительно должны использовать).
Других решений пока нет …