在 CentOS 上配置 C++ 的“路径”,一般分几种常见场景。我先按最常见的情况给你讲,你看看哪一个符合你的需求。
如果你是用 g++ 编译 C++ 程序,需要指定:
-I-L-lg++ main.cpp -I/include/path \
-L/lib/path \
-lmylib \
-o myprogram
说明:
-I/usr/local/include:告诉编译器去哪找 .h-L/usr/local/lib:告诉链接器去哪找 .so / .a-lmylib:链接 libmylib.so如果编译通过,但运行报错:
error while loading shared libraries: libxxx.so: cannot open shared object file
export LD_LIBRARY_PATH=/your/lib/path:$LD_LIBRARY_PATH
echo 'export LD_LIBRARY_PATH=/your/lib/path:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
sudo vi /etc/ld.so.conf.d/mylib.conf
写入:
/your/lib/path
然后执行:
sudo ldconfig
如果你编译出的程序想直接敲名字运行:
sudo cp myprogram /usr/local/bin/
echo 'export PATH=$PATH:/your/bin/path' >> ~/.bashrc
source ~/.bashrc
include_directories(/your/include/path)
link_directories(/your/lib/path)
target_link_libraries(myprogram mylib)
/usr/include、/usr/local/include/usr/lib64、/usr/local/lib64/usr/bin、/usr/local/bin如果你能告诉我:
我可以给你更精确的配置示例。