2013-07-08 32 views
2

我試圖用一個簡單的C++代碼的OpenCV:多目標模式錯誤

#include <opencv/cv.h> 
#include <opencv/highgui.h> 
#include <iostream> 

using namespace std; 

int main (int argc, char **argv) 
{ 
cvNamedWindow("My Window", 1); 
IplImage *img = cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 1); 
CvFont font; 
double hScale = 1.0; 
double vScale = 1.0; 
int lineWidth = 1; 
cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC, 
      hScale, vScale, 0, lineWidth); 
cvPutText(img, "Hello World!", cvPoint(200, 400), &font, 
     cvScalar(255, 255, 0)); 
cvShowImage("My Window", img); 
cvWaitKey(); 
cout << "hello world"; 
return 0; 
} 

我已經列入屬性 - > C/C++編譯 - >設置 - - >包含我的opencv/build/include的絕對路徑,以及下的Cygwin C++鏈接器 - >庫路徑和庫(opencv_core246,opencv_highgui246)這次用的是unix風格的路徑/ cygdrive/c/...(我讀過一些人建議這樣做)。 我得到這個錯誤:「make:多個目標模式,停止。」 我知道這個問題是關係到使和多個冒號的路徑... 我在Windows 7(64位),Cygwin和Eclipse的。 任何人都可以幫助我嗎? 謝謝

回答

1

一般來說,你需要將所有的窗戶路徑的cygwin風格的路徑,例如c:\home變成/cygdrive/c/homecygpath實用程序存在爲您做這個翻譯)。

make抱怨說它無法解析您的目標規則,該規則使用冒號(:)將目標與其依賴關係分開。當您使用Windows路徑時,會引入太多冒號並混淆解析器。

0

我曾在這個問題上的時間太長了它是多麼容易解決。我正在使用Cygwin和Eclipse for C++在Windows 8上工作。

我要做的是去項目 - >屬性 - > C/C++構建 - >工具鏈編輯器,並將當前構建器設置爲CDT內部構建器將當前工具鏈設置爲MinGw GCC。

我的工具鏈被設置爲Cygwin GCC,這是導致問題的原因,因爲只是更改當前的構建器並沒有解決任何問題。因爲Cygwin是最近更新需求/ cygwin/c/style路徑和CDT工具不符合的那個,所以切換到MinGW(沒有這個問題)修復它是有道理的。

希望這可以幫助別人!