Eclipse C++项目未解析LD_LIBRARY_PATH包含变量



我有一个正在导入的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

查找头文件不是LD_LIBRARY_PATH的目的。该环境变量告诉操作系统从哪里开始查找共享库--*.so文件。操作系统在准备执行程序时会查找这些程序。编译器在源代码中遇到#include语句时,使用包含路径来搜索标头。

不要修改LD_LIBRARY_PATH来影响程序的编译。

Eclipse允许您在项目选项中设置包含路径。

相关内容

  • 没有找到相关文章

最新更新