在 Ubuntu 下做 C++ 开发时,“路径怎么设”通常指以下几类情况之一。你看看你具体是哪一种,我可以直接给你对应做法。
如果头文件不在当前目录,比如:
/project
├── main.cpp
└── include/foo.h
编译时指定:
g++ main.cpp -I./include -o main
多个路径:
g++ main.cpp -I./include -I/usr/local/include -o main
比如你有一个库 libfoo.so 在 /home/user/libs:
g++ main.cpp -L/home/user/libs -lfoo -o main
说明:
-L:库文件所在目录-lfoo:链接 libfoo.so 或 libfoo.a编译通过但运行时报错:
error while loading shared libraries: libfoo.so
sudo vim /etc/ld.so.conf.d/mylib.conf
写入:
/home/user/libs
然后执行:
sudo ldconfig
export LD_LIBRARY_PATH=/home/user/libs:$LD_LIBRARY_PATH
./main
include_directories(${CMAKE_SOURCE_DIR}/include)
或更现代:
target_include_directories(myapp PRIVATE include)
link_directories(/home/user/libs)
target_link_libraries(myapp foo)
如果你自己写了 g++ 或工具:
export PATH=/your/path:$PATH
永久生效:
vim ~/.bashrc
加一行:
export PATH=/your/path:$PATH
然后:
source ~/.bashrc
echo $PATH
echo $LD_LIBRARY_PATH
如果你能告诉我:
我可以直接帮你改到能跑 ✅