Mingw-64 在构建和安装后不会编译 openCV 代码
Mingw-64 will not compile openCV code after building and installing
我使用 Cmake 和 mingw32-make 构建并安装了 openCV。之后,我将生成的"opencv2"源文件夹复制到我安装的mingw-64编译器的"include"文件夹中。然后,我将生成的文件从"lib"和"bin"复制到已安装编译器的相应文件夹中。我最后尝试编译以下示例代码以确保正确安装:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
Mat image;// new blank image
image = cv::imread("test.png", 0);// read the file
namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// create a window for display.
imshow( "Display window", image );// show our image inside it.
waitKey(0);// wait for a keystroke in the window
return 0;
}
我尝试使用以下命令行命令编译代码:
g++ -o helloWorld helloWorld.cpp
这产生了以下错误:
helloWorld.cpp: In function 'int main()':
helloWorld.cpp:10:36: error: 'CV_WINDOW_AUTOSIZE' was not declared in this scope
namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// create a window for display.
我怀疑我没有正确安装 openCV,但是当我在线搜索教程来解决此问题时,它只是关于将代码块与 mingw 一起使用。我只想使用 mingw,而不是代码块。
我缺少链接器选项吗?我是否将".dll"和".dll.a"放在了错误的位置?
谢谢
OpenCV确实安装正确,问题是CV_WINDOW_AUTOSIZE是openCV的C实现使用的常量。当与WINDOW_AUTOSIZE交换时,代码通知我没有链接正确的库。对于 openCV 4.2.0,我需要将"420"附加到所需库的末尾(例如:"-lopencv_core420"(。
进行这些更改后要编译的命令行参数为:
g++ -o helloWorld helloWorld.cpp -lopencv_core420 -lopencv_highgui420 -lopencv_imgcodecs420
相关文章:
- Mingw-64 在构建和安装后不会编译 openCV 代码
- 无法在 CLion 中编译 OpenCV 头文件
- 在Linux/Ubuntu中编译openCV应用程序时,如何解决未定义的引用cv:..?
- 在构建时从源代码编译 OpenCV 3
- 编译 opencv 示例麻烦
- 尝试从 Github 编译 OpenCV QT 代码时出错
- 当 Mingw 为 C++ 编译 OpenCV 时,我遇到错误?
- 如何使用text.hpp(可选模块)重新编译OpenCV
- 使用命名空间别名编译 OpenCV
- 从源代码编译 openCV:*** 未指定目标,也未找到生成文件.停
- 如何用GTK 2.x而不是GTK3.X编译OpENCV
- 在 ubuntu 上交叉编译 openCV for ARM
- 当我尝试在启用推理引擎的情况下编译 OpenCv 时,出现错误
- 无法使用 OpenVino 推理编译 OpenCV,无法读取 cpuid.txt
- 在Debian上编译OpenCV(C++)时出错
- 如何使用Fast Downward编译OpenCV
- 使用CUDA编译OpenCV示例程序时出错
- C++ - 无法编译 OpenCV 程序
- 如何使用OpenMP编译OpenCV
- 使用CMake编译OpenCV项目时出错