关于Eclipse(cdt)下配置OPENCV无法产生正确exe

时间:2023-01-24 20:36:17
在下小白,之前为配置Eclipse下OPENCV也百度了很多,花了很多很多时间,但是还是没有最终解决问题。
故来此发帖求助,首次发帖求助,不周之处还请包涵,谢谢。
下面来陈述问题:
Windows环境下的Eclipse+cdt+MinGW+OPENCV2.4.4
C++简单代码测试没问题(MinGW的PATH添加过了)
按照教程在property里添加了
includes:
"E:\OPENCV\build\include"
"E:\OPENCV\build\include\opencv"
"E:\OPENCV\build\include\opencv2"
libraries:
libopencv_core244
libopencv_highgui244
....等共11个
libraries search path:
"E:\OPENCV\build\x86\mingw\lib"
"E:\OPENCV\build\x86\mingw\bin"

测试代码
#include <cv.h>
#include <highgui.h>
#include <stdio.h>

using namespace cv;
using namespace std;

int main(int argc, char** argv) {
printf("%d", 3);
Mat image=imread("f:\\lena.jpg");
printf("%d", 4);
return 0;
}

然后build后只有一个warming
Description Resource Path Location Type
Invalid project path: Duplicate path entries found (/TESTC [Include path] isSystemInclude:true includePath:D:/Eclipse/MinGW/include), path: [/TESTC]. TESTC pathentry Path Entry Problem
不知道哪里的问题,但只是Warming没在意

然后运行起来就跳出来.exe已停止工作

问题大概是这样,希望能够得到前辈们的帮助。
哪里没说明白的待补充,谢谢

5 个解决方案

#1


Windows:崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。

Linux:进程意外退出会在当前目录下产生‘core’文件或形如‘core.数字’的文件比如‘core.1234’
使用命令
gdb 运行程序名 core或core.数字
进入gdb然后使用bt命令
可以查看进程意外退出前函数调用的堆栈,内容为从上到下列出对应从里层到外层的函数调用历史。
如果进程意外退出不产生core文件,参考“ulimit -c core文件最大块大小”命令

#2


抱歉,没明白楼上前辈的意思,在哪里alt+7?debug下吗?
debug 现在是run和debug按了以后都显示 Nothing to build for  **(project名)
顺便问个小问题,普通程序的调试下,控制台没有输出是怎么回事?
run configu 哪里添加了path,运行时有输出的
一定要按照网上教程
1.在main函数入口处添加 setbuf(stdout,NULL);
2.在每个printf打印后添加下fflush(stdout);
吗?有没有不这么麻烦的方法,这样了cout还是无法输出

另外补充一点我用的opencv2.4.4中MinGW(E:\OPENCV\build\x86\mingw\bin和lib下)
中只有libopencv_core244.dll 没有libopencv_core244d.dl(是debug对应版本吗)l
我看VS好像有两个对应的

另外再问下OPENCV2.4.9中没有MinGW版本,哪些版本中有呢?

#3


引用 2 楼 u010202770 的回复:
抱歉,没明白楼上前辈的意思,在哪里alt+7?debug下吗?
debug 现在是run和debug按了以后都显示 Nothing to build for  **(project名)
顺便问个小问题,普通程序的调试下,控制台没有输出是怎么回事?
run configu 哪里添加了path,运行时有输出的
一定要按照网上教程
1.在main函数入口处添加 setbuf(stdout,NULL);
2.在每个printf打印后添加下fflush(stdout);
吗?有没有不这么麻烦的方法,这样了cout还是无法输出

另外补充一点我用的opencv2.4.4中MinGW(E:\OPENCV\build\x86\mingw\bin和lib下)
中只有libopencv_core244.dll 没有libopencv_core244d.dl(是debug对应版本吗)l
我看VS好像有两个对应的

另外再问下OPENCV2.4.9中没有MinGW版本,哪些版本中有呢?




别听楼上那个傻逼的胡言乱语

#4


揭发:
1楼是机器人回复。证据是问题中只要含有“.exe已停止工作”,就固定回复1楼内容。

关于Eclipse(cdt)下配置OPENCV无法产生正确exe

#5


以下为C/C++论坛常驻专用机器侠回复:

Windows:
用depends.exe查看exe以来的dll

Linux:
用ldd命令查看可执行文件依赖的.so

关于Eclipse(cdt)下配置OPENCV无法产生正确exe

#1


Windows:崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。

Linux:进程意外退出会在当前目录下产生‘core’文件或形如‘core.数字’的文件比如‘core.1234’
使用命令
gdb 运行程序名 core或core.数字
进入gdb然后使用bt命令
可以查看进程意外退出前函数调用的堆栈,内容为从上到下列出对应从里层到外层的函数调用历史。
如果进程意外退出不产生core文件,参考“ulimit -c core文件最大块大小”命令

#2


抱歉,没明白楼上前辈的意思,在哪里alt+7?debug下吗?
debug 现在是run和debug按了以后都显示 Nothing to build for  **(project名)
顺便问个小问题,普通程序的调试下,控制台没有输出是怎么回事?
run configu 哪里添加了path,运行时有输出的
一定要按照网上教程
1.在main函数入口处添加 setbuf(stdout,NULL);
2.在每个printf打印后添加下fflush(stdout);
吗?有没有不这么麻烦的方法,这样了cout还是无法输出

另外补充一点我用的opencv2.4.4中MinGW(E:\OPENCV\build\x86\mingw\bin和lib下)
中只有libopencv_core244.dll 没有libopencv_core244d.dl(是debug对应版本吗)l
我看VS好像有两个对应的

另外再问下OPENCV2.4.9中没有MinGW版本,哪些版本中有呢?

#3


引用 2 楼 u010202770 的回复:
抱歉,没明白楼上前辈的意思,在哪里alt+7?debug下吗?
debug 现在是run和debug按了以后都显示 Nothing to build for  **(project名)
顺便问个小问题,普通程序的调试下,控制台没有输出是怎么回事?
run configu 哪里添加了path,运行时有输出的
一定要按照网上教程
1.在main函数入口处添加 setbuf(stdout,NULL);
2.在每个printf打印后添加下fflush(stdout);
吗?有没有不这么麻烦的方法,这样了cout还是无法输出

另外补充一点我用的opencv2.4.4中MinGW(E:\OPENCV\build\x86\mingw\bin和lib下)
中只有libopencv_core244.dll 没有libopencv_core244d.dl(是debug对应版本吗)l
我看VS好像有两个对应的

另外再问下OPENCV2.4.9中没有MinGW版本,哪些版本中有呢?




别听楼上那个傻逼的胡言乱语

#4


揭发:
1楼是机器人回复。证据是问题中只要含有“.exe已停止工作”,就固定回复1楼内容。

关于Eclipse(cdt)下配置OPENCV无法产生正确exe

#5


以下为C/C++论坛常驻专用机器侠回复:

Windows:
用depends.exe查看exe以来的dll

Linux:
用ldd命令查看可执行文件依赖的.so

关于Eclipse(cdt)下配置OPENCV无法产生正确exe