Ubuntu 中 C++ 库文件与头文件的常见位置
头文件默认搜索路径(编译期)
g++ -v -x c++ -E /dev/null(查看 “#include <…> search starts here” 段)。库文件默认搜索与缓存路径(链接期与运行期)
sudo ldconfig 更新)典型安装布局(按来源区分)
如何快速定位某个库
ldd ./your_appldconfig -p | grep libnameobjdump -p ./your_app | grep -E 'RPATH|RUNPATH'g++ -v -x c++ -E /dev/nullfind /usr/include /usr/local/include -name "header.h" 或使用 whereis header.h。找不到库时的解决办法
g++ main.cpp -I/my/include -L/my/lib -lmylib)。g++ main.cpp -L/my/lib -lmylib -Wl,-rpath,/my/libLD_LIBRARY_PATH=/my/lib:$LD_LIBRARY_PATH ./your_appsudo ldconfig 更新缓存。安装与获取第三方 C++ 库的方式
sudo apt install libname-dev(例如:sudo apt install libeigen3-dev libann-dev)。mkdir build && cd build && ../configure --prefix=/usr/local && make && sudo make installcmake .. && make && sudo make install(库与头文件分别进入 /usr/local/lib 与 /usr/local/include)。sudo dpkg -i xxx.deb 安装。