OpenCV C++应用程序在从Eclipse启动时立即终止
OpenCV C++ app terminates immediately when launched from Eclipse
我目前在使用OpenCV从Eclipse启动一个非常小的应用程序时遇到问题。应用程序从命令行启动很好,但当我从Eclipse启动它时,它只是立即终止,没有任何输出。我希望至少能将"Hello\o/"打印到控制台。
我发现只有当我调用与OpenCV相关的方法时才会发生这种情况。因此,如果我注释掉所有与OpenCV相关的行,我会看到打印到Eclipse控制台的"Hello\o/"。
我认为这个问题与无法在运行时找到OpenCV DLL有关(我最初在命令行偶然发现了这个问题,但通过将OpenCV bin目录添加到PATH变量中解决了这个问题)。我曾尝试在Eclipse中将其单独添加到我的运行配置中,但这并没有什么区别。
你知道是什么导致了这个问题吗?
我的来源:
#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <stdio.h>
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
cout << "Hello \o/" << endl;
/* data structure for the image */
IplImage *img = 0;
/* check for supplied argument */
if (argc < 2) {
fprintf(stderr, "Usage: loadimg <filename>n");
return 1;
}
/* load the image,
use CV_LOAD_IMAGE_GRAYSCALE to load the image in grayscale */
img = cvLoadImage(argv[1], CV_LOAD_IMAGE_COLOR);
/* always check */
if (img == 0) {
fprintf(stderr, "Cannot load file %s!n", argv[1]);
return 1;
}
/* create a window */
cvNamedWindow("image", CV_WINDOW_AUTOSIZE);
/* display the image */
cvShowImage("image", img);
/* wait until user press a key */
cvWaitKey(0);
/* free memory */
cvDestroyWindow("image");
cvReleaseImage(&img);
return 0;
}
您很可能在LD_LIBRARY_PATH
(环境变量)中缺少OpenCV的lib目录。
我遇到了同样的问题。我先检查并更正了所有路径。
当一切似乎都不起作用时,创建一个新的工作区对我来说是可行的。
相关文章:
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 如何创建一个空的全局类并在启动时实例化它
- 多个文件的内存分配错误"在抛出 'std :: bad_alloc' what (): std :: bad_alloc 的实例后终止调用" [C++]
- 我收到以下错误:抛出'std::bad_alloc'实例后终止调用
- 为什么这个 c++ 代码打印出长度 5,当我打印出字符串时,程序会自动终止?
- 终止计时器由 startTimer() 启动
- 如何防止程序输出终止并重新启动程序而不会丢失数据
- Eclipse C++ 调试器不会在断点处停止,而是在调试启动后立即终止
- 在跨平台C++启动和终止进程
- QT:无法在启动/停止按钮中终止 Qprocess
- WIN 32 用于检测已启动和终止的应用程序/进程的 API
- 程序终止几秒钟后重新启动
- 使用SIGHUP重新启动终止进程
- C++ 游戏启动终止在抛出"std::out_of_range"实例后调用
- OpenCV C++应用程序在从Eclipse启动时立即终止
- C++执行bash脚本,该脚本终止并重新启动当前进程
- Eclipse CDT——是否有一种方法可以在启动新启动之前终止之前正在运行的启动?
- c++在linux下启动新进程并终止当前进程
- c++启动新进程并终止现有进程
- 如何使用QProcess在控制台窗口中启动和终止cmd.exe