2011-10-28 49 views
2

我有一個惱人的問題。 我在項目中使用pkg-config。它一直很好,但現在它不(不知道發生了變化) 當我在Eclipse的這一行鏈接:從eclipse運行時,pkg-config無法找到軟件包

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編譯/從控制檯鏈接,它工作正常。

如果我指定的opencv.pc文件中設置$ PKG_CONFIG_PATH Eclipse內它的工作原理(這是通過追加到$ PKG_SEARCH_PATH完成)。因此,出於某種原因,pkg-config在從eclipse調用但從命令行調用時不會搜索默認的/ usr/lib/pkgconfig目錄。

有人可以幫我解決這個問題,以便pkg-config在eclipse中調用時還可以搜索默認目錄嗎? (添加默認目錄爲$ PKG_SEARCH_PATH是一個解決方案,但這個似乎沒有必要或正確的方法)如下

Eclipse的赫利俄斯

我的設置是

CDT 7.0

pkg-config版本0.25

回答

3

我找到了解決我的問題的方法。

我不知道爲什麼,但在eclipse Helios看來,eclipse自動定義了一個名爲$ PKG_CONFIG_LIBDIR的環境變量。如果此變量存在,則pkg-config的默認搜索路徑將更改爲此變量中的任何值。解決方法是簡單地取消定義這個變量。

從蝕去:

項目屬性 - > C/C++編譯 - >環境

取消設置可變

相關問題