【发布时间】:2014-08-14 05:01:40
【问题描述】:
我正在运行 ubuntu 12.04。 我有一个在 Eclipse(luna 之前的版本)中编写和编译好的 c++ 项目。我的系统出现了一些问题,不得不重新安装操作系统。现在我正在使用 Eclipse luna,当使用一些 openCV 功能时,项目给出了一个奇怪的错误。
我在使用cv::namedWindow() 和cv::imshow() 时出现的错误。
错误是:
这里是 Eclipse 控制台输出:
00:21:45 **** Incremental Build of configuration Debug for project MySOM ****
make all
Building target: MySOM
Invoking: Cross G++ Linker
g++ -L/usr/local/lib -o "MySOM" ./src/LoadFile.o ./src/Model.o ./src/Node.o ./src/SOM.o ./src/main.o -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab
Finished building target: MySOM
00:21:45 Build Finished (took 210ms)
它看起来在上面找到,但后来......
这是 Eclipse 中的“问题”选项卡:
Description Resource Path Location Type
Invalid arguments '
Candidates are:
bool imwrite(const ? &, const cv::_InputArray &, const ? &)
' SOM.cpp /MySOM/src line 211 Semantic Error
Invalid arguments '
Candidates are:
cv::Mat imread(const ? &, int)
' LoadFile.cpp /MySOM/src line 10 Semantic Error
Invalid arguments '
Candidates are:
void imshow(const ? &, const cv::_InputArray &)
' main.cpp /MySOM/src line 22 Semantic Error
Invalid arguments '
Candidates are:
void namedWindow(const ? &, int)
' main.cpp /MySOM/src line 21 Semantic Error
main.cpp
#include "Node.h"
#include <iostream>
#include "SOM.h"
#include <string>
#include "opencv2/core/core.hpp"
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>//FOR TESTING
void MyPause(std::string msg){
if(msg != ""){
std::cout << "[+] " << msg << std::endl;
}
std::cout << "Press enter to continue" << std::endl;
std::cin.get();
}
void DisplayMat(cv::Mat img){
static int number = 0;
cv::namedWindow( "Input" + number, cv::WINDOW_AUTOSIZE );// ERROR HERE
cv::imshow( "Input" + number, img );//ERROR HERE
cv::waitKey(0);
number++;
return;
}
std::string filename = "/home/myUserName/Code/projectFiles/testMedia/myYellow.jpg";
int main(){
//cv::Mat inputImg = LoadFile(filename);
SOM som(filename);
MyPause("After SOM initialization");
DisplayMat(som.inputImg);
MyPause("END OF MAIN");
return 0;
}
我想知道这是否会发生,因为我现在编译 opencv 的方式与我在原始系统上编译它的方式相比。
【问题讨论】:
-
您发现发生了什么吗?我有完全相同的问题。很多奇怪的错误。不管我重建了多少次。
-
王,看我接受的答案。
标签: c++ eclipse opencv compiler-errors