2013-01-13 34 views
0

喜文我建立我的代碼我收到錯誤消息OpenCV的ubuntu上命名空間的簡歷錯誤

./src/view.o:在功能cv::Mat::MSize::MSize(int*)': /home/burak/desktop/workspace/deneme/Debug/../src/view.cpp:13: multiple definition of主要 ./src/deneme.o:/home/布拉克/桌面/工作區/ deneme /調試/../ SRC/deneme.cpp:12:這裏首先定義 collect2:錯誤:LD返回1退出狀態 化妝:* [deneme]錯誤1

我代碼是

#include <opencv2/core/core.hpp> 
#include<opencv2/highgui/highgui.hpp> 
#include<cv.h> 
#include<iostream> 

using namespace cv; 
using namespace std; 

int main(int argc, char** argv) 
{ 
if(argc != 2) 
{ 
cout <<" Usage: display_image ImageToLoadAndDisplay" << endl; 
return -1; 
} 

Mat image; 
image = imread(argv[1], CV_LOAD_IMAGE_COLOR); // Read the file 

if(! image.data)        // Check for invalid input 
{ 
    cout << "Could not open or find the image" << std::endl ; 
    return -1; 
} 
///// Show Image... and main return 0 /// 

我該如何解決?

回答

1

您有兩個main()函數(第12行的view.cpp中的一個和第12行的deneme.cpp中的一個)。您只能在命名空間之外(即作爲您的入口點)使用一個main()函數。

+0

感謝我解決了上述問題,但現在libopencv_core.so.2.4:無法打開共享對象文件:沒有這樣的文件或目錄 但我的圖書館在那裏。 ? – burakim

+0

請確保您鏈接到正確的文件,具體取決於您可能必須(或應該)鏈接到'libopencv_core.so'而不是命名特定版本的系統。如果仍然無法使用,請嘗試使用「定位」查找它或創建一個單獨的問題。 – Mario