c++ - 用mingw编译opencv3.1

标签 c++ windows opencv g++ mingw-w64

我想用mingw-w64编译下面的代码。

#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
  Mat im = imread("lena.jpg", 1);
  if (im.empty())
  {
    cout << "Cannot open image!" << endl;
    return -1;
  }

  imshow("image", im);
  waitKey(0);

  return 0;
}

关注Getting started with OpenCV 2.4 and MinGW on Windows 7之后

我用 g++ -I D:\opencv\build\include -L D:\opencv\build\x64\vc14\lib -lopencv_world310 .\loadimg.cpp 编译代码

但它返回 undefined reference

C:\Users\1409021\AppData\Local\Temp\cc8ZRPJP.o:loadimg.cpp:(.text+0x40): undefined reference to `cv::imread(cv::String const&, int)'
C:\Users\1409021\AppData\Local\Temp\cc8ZRPJP.o:loadimg.cpp:(.text+0xb7): undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)'
C:\Users\1409021\AppData\Local\Temp\cc8ZRPJP.o:loadimg.cpp:(.text+0xd9): undefined reference to `cv::waitKey(int)'
C:\Users\1409021\AppData\Local\Temp\cc8ZRPJP.o:loadimg.cpp:(.text$_ZN2cv6StringC1EPKc[_ZN2cv6StringC1EPKc]+0x4a): undefined reference to `cv::String::allocate(unsigned long long)'
C:\Users\1409021\AppData\Local\Temp\cc8ZRPJP.o:loadimg.cpp:(.text$_ZN2cv6StringD1Ev[_ZN2cv6StringD1Ev]+0x11): undefined reference to `cv::String::deallocate()'
C:\Users\1409021\AppData\Local\Temp\cc8ZRPJP.o:loadimg.cpp:(.text$_ZN2cv3MatD1Ev[_ZN2cv3MatD1Ev]+0x36): undefined reference to `cv::fastFree(void*)'
C:\Users\1409021\AppData\Local\Temp\cc8ZRPJP.o:loadimg.cpp:(.text$_ZN2cv3Mat7releaseEv[_ZN2cv3Mat7releaseEv]+0x48): undefined reference to `cv::Mat::deallocate()'

库是opencv3.1,只有一个库opencv_world310

有什么建议吗?

谢谢。

最佳答案

g++ -I D:\opencv\build\include -L D:\opencv\build\x64\vc14\lib -lopencv_world310 .\loadimg.cpp

错了。

g++ -I D:\opencv\build\include -L D:\opencv\build\x64\vc14\lib .\loadimg.cpp -lopencv_world310 

是对的。说明here

关于c++ - 用mingw编译opencv3.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37457743/

相关文章:

Erlang 上的 OpenCV

android - OpenCV 中的 setPreviewSize

c++ - 检查子类的构造函数是否在 C++ 中是公共(public)的

c++ - 对文件使用 fopen 时,matlab 在没有转储文件的情况下崩溃

c++ - 在类函数中将参数传递给 _beginthread

windows - 使用 git 在 Windows 中推送到 code.google.com

python - 如何在 OpenCV 中的图像上画一条线?

c++ - 如何解决 C++ 中嵌套类型的循环依赖?

c++ - 无法在 Fedora 上连接冰淇淋 (icecc)

java - 查询在不同的操作系统上给出不同的输出