如何在C ++中添加非标准库?

时间:2013-01-21 17:00:26

标签: c++ ubuntu shared-libraries static-libraries

如何在C ++中添加非标准库,以便我可以像标准库一样添加它而无需在makefile中链接-I选项?

出现问题的原因是我在多个服务器上开发代码并使用不同的绝对路径目录。我正在使用Eigen C ++库,并且可以在makefile“-I / usr / local / include / eigen / -c norm.cpp constants.cpp”中调用以下命令时使其工作。当我传输服务器绝对路径不一样时我会在每次编译时更改它时出现问题。我知道我可以给它一个绝对的路径但是因为我经常使用这个库我不想创建奇怪的相对路径名。

我正在使用gcc,并尝试将eigen文件夹放在/usr/include/c++/4.5,/usr/include/c++/4.5.2和/ usr / local / include /中,但它仍然不起作用。我目前正在使用Ubuntu 11.04。

如何找到gcc搜索的标准库以及如何添加非标准库,以便我可以像“#include”一样包含它。

2 个答案:

答案 0 :(得分:3)

默认情况下,GCC查找以下目录:

/usr/local/include/
/usr/include/

您可以通过编辑以下shell变量来控制gcc搜索路径:

$ C_INCLUDE_PATH=/the/new/include/path 
$ export C_INCLUDE_PATH

for C ++:

$ CPLUS_INCLUDE_PATH=/the/path/to/search 
$ export CPLUS_INCLUDE_PATH

您可以对库路径执行相同的操作:

$ LIBRARY_PATH=/the/path/whatever
$ export LIBRARY_PATH

我希望能给你答案。 :)

答案 1 :(得分:0)

查看ranliblibtool