我有一个正在导入的C++项目,它正在使用activemq库。导入项目后,我将环境下的LD_LIBRARY_PATH变量设置为指向
/usr/local/include/activemq-cpp-3.4.2
这允许项目查看activemq的所有库,并且我可以看到它显示在项目资源管理器的includes文件夹中。当我进入构建项目时,在/usr/local/include/activemq-cpp-3.4.2中对includes/object的引用会出现大量错误。有趣的是,二进制文件仍在生成中,但由于找不到库文件,大约有80个错误。二进制是如何生成的?此外,我必须对LD_LIBRARY_PATH环境变量做些什么才能使项目正确地包含这些文件?
我试过用启动eclipse
./eclipse -clean
但这似乎无济于事。欢迎有任何想法,并提前感谢!
编辑:
我在Redhat 4.X 上使用带有C++版本4.1.2的Eclipse Juno
LD_LIBRARY_PATH
不用于定位包含目录。它用于通知系统要搜索共享库的目录列表:编译的支持库,而不是Eclipse的SDK。
您应该使用项目的属性来添加到搜索的位置,包括:C++常规->路径和符号->包括
如果您确实需要链接到其他库,也可以使用属性(而不是LD_LIBRARY_PATH
):C++General->Paths and Symbols->Library Paths
#include
语句时,使用包含路径来搜索标头。
不要修改LD_LIBRARY_PATH来影响程序的编译。
Eclipse允许您在项目选项中设置包含路径。