2

我有一个烦人的问题。我在一个项目中使用 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 来完成的)。因此,由于某种原因,pkg-config 在从 eclipse 调用时不会在默认的 /usr/lib/pkgconfig 目录中搜索,但是从命令行调用时会搜索。

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

我的设置如下

日食太阳神

CDT 7.0

pkg-config 版本 0.25

4

1 回答 1

3

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

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

从日食转到:

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

取消设置变量

于 2011-10-29T11:09:05.870 回答