从eclipse运行时,pkg-config无法找到包

时间:2011-10-28 10:45:56

标签: eclipse pkg-config

我有一个恼人的问题。 我在项目中使用pkg-config。它运作良好,但现在它没有(不知道已经改变) 当我从eclipse里面用这条线链接时:

g++ `pkg-config --libs opencv` -o"RawConverterTgi"  ./main.o

我收到错误:

Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found

但是当我跑步时

pkg-config --libs opencv

在我得到的控制台中

-L/usr/local/opencv2.3.1/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann

这是我期望的

如果我使用eclipse生成的makefile从控制台编译/链接,它可以正常工作。

如果我通过在eclipse中设置$ PKG_CONFIG_PATH来指定opencv.pc文件的位置,则可以正常工作(这可以通过附加到$ PKG_SEARCH_PATH来完成)。因此,出于某种原因,当从eclipse调用时,pkg-config不会在默认的/ usr / lib / pkgconfig目录中进行搜索,但是从命令行调用时也是如此。

有人可以帮我纠正这个问题,以便pkg-config在从eclipse调用时搜索默认目录吗? (将默认目录添加到$ PKG_SEARCH_PATH是一个解决方案,但这似乎没有必要或正确的方法)

我的设置如下

Eclipse Helios

CDT 7.0

pkg-config version 0.25

1 个答案:

答案 0 :(得分:3)

我找到了解决问题的方法。

我不确定为什么但是在eclipse Helios中,似乎eclipse自动定义了一个名为$ PKG_CONFIG_LIBDIR的环境变量。如果此变量存在,则pkg-config的默认搜索路径将更改为此变量中的任何内容。解决方案就是取消定义这个变量。

来自eclipse的

转到:

项目属性 - > C / C ++构建 - >环境

取消设置变量