在 Ubuntu 中,“C++ 路径配置”通常指以下几类情况之一。我按最常见场景给你说明,你可以对照自己的需求:
如果你自己写了头文件,放在非标准目录,比如:
/home/user/mylib/include
编译时这样指定:
g++ main.cpp -I/home/user/mylib/include -o main
✅ 多个路径:
g++ main.cpp -I/path1 -I/path2
库文件在:
/home/user/mylib/lib
g++ main.cpp -I/home/user/mylib/include \
-L/home/user/mylib/lib \
-lmylib \
-o main
⚠️ 运行时还要告诉系统库在哪:
export LD_LIBRARY_PATH=/home/user/mylib/lib:$LD_LIBRARY_PATH
放入:
/usr/include
/usr/local/include
放入:
/usr/lib
/usr/local/lib
然后更新库缓存:
sudo ldconfig
export CPLUS_INCLUDE_PATH=/home/user/mylib/include:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=/home/user/mylib/lib:$LIBRARY_PATH
✅ 写入 ~/.bashrc 可永久生效。
include_directories(/home/user/mylib/include)
link_directories(/home/user/mylib/lib)
add_executable(main main.cpp)
target_link_libraries(main mylib)
# 头文件
echo | g++ -E -x c++ - -v
# 库文件
g++ -print-search-dirs
❌ 只设了 -I,没设 -L
❌ 编译通过但运行报 cannot open shared object
❌ 忘记 ldconfig
如果你能具体说一下:
我可以直接给你一份可复制的配置方案。