在 Ubuntu 下配置 C++ 的“路径”,通常分为几种常见场景。下面按最常见需求给你梳理,你可以对照自己的情况看。
g++ main.cpp -I/path/to/include -o main
-I:指定 头文件目录g++ main.cpp -I/usr/local/include/mylib -o main
g++ main.cpp -L/path/to/lib -lmylib -o main
-L:指定 库文件目录-l:链接库名(去掉 lib 和 .so)示例:
g++ main.cpp -L/usr/local/lib -lopencv_core -o main
export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH
./main
nano ~/.bashrc
添加:
export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH
保存后:
source ~/.bashrc
sudo nano /etc/ld.so.conf.d/mylib.conf
写入:
/path/to/lib
然后执行:
sudo ldconfig
include_directories(/path/to/include)
link_directories(/path/to/lib)
add_executable(main main.cpp)
target_link_libraries(main mylib)
或现代写法:
find_library(MYLIB mylib PATHS /path/to/lib)
target_include_directories(main PRIVATE /path/to/include)
target_link_libraries(main ${MYLIB})
如果你是让 g++ 或你自己编译的程序能在终端直接运行:
export PATH=/your/bin/path:$PATH
永久:
echo 'export PATH=/your/bin/path:$PATH' >> ~/.bashrc
source ~/.bashrc
❌ fatal error: xxx.h: No such file
→ 缺 -I
❌ cannot find -lxxx
→ 缺 -L 或库名写错
❌ 运行报错 error while loading shared libraries
→ 缺 LD_LIBRARY_PATH 或没 ldconfig
你是哪种情况?
我可以直接给你可复制的配置示例。