我正在为学校开设一个学期项目并计划使用OpenCV。过去一天我一直在与包含/链接错误(主要是因为愚蠢的错误)作斗争,最后让一切正常。或者我想。
我有一个简单的程序,看起来像这样:
#include <highgui.h>
int main() {
cvNamedWindow("window", CV_WINDOW_AUTOSIZE);
cvWaitKey(0);
return 0;
}
Eclipse中没有出现任何错误,并且所有内容都是粗体/看起来应该是库函数(无法准确记住调用正确的格式名称)。当我编译它时,一切都成功了。没有错误。但是当我运行它时,没有任何反应。而且就此而言,我被困住了。
我在工作中使用OpenCV并相应地在家中建立我的设置(几乎完全相同)。在Eclipse的项目中正确添加了包含路径,库路径和库(至少,w.r.t我的工作设置)。 DLL与可执行文件位于同一文件夹中。
任何想法为什么不运行? (窗口不显示,只是立即终止)
我应该提一下,我正在使用Eclipse(Helios),MinGW,Windows 7和OpenCV 2.3。
干杯。
答案 0 :(得分:0)
尝试从命令提示符编译,而不是从命令提示符运行可执行文件,看看会发生什么。 这是我编译的方式
g++ -o main.exe main.cpp -I"C:\OpenCV2.1\include\opencv" -L"C:\OpenCV2.1\lib" -lcxcore210 -lcv210 -lhighgui210 -lcvaux210 -lml210
注意:我使用过opencv 2.1。所以相应地设置你的。此外,我添加了OpenCv bin folder to path
,因此可以更轻松地找到可执行文件的dll文件。