zoukankan      html  css  js  c++  java
  • MSYS静态编译opencv-4.4.0时注意事项

    1.protobuf
      如果已经安装过protobuf时,make时会发生错误,解决方法是已经安装的protobuf的头文件包含的目录临时改名
    2.jpeg2000
      链接opencv_perf_imgproc.exe时发成错误,解决方法是cmake-gui成功完成后,在cvconfig.h文件中增加
      #define OPJ_STATIC 1
    然后编译应用程序时需要追加 -lopenjp2
    make -j8 就OK啦
    opencv从3.4版本没有.pc文件文件
    自己写了 opencv440.pc 供参考
    ----------------------------------------------------------------------
    # Package Information for pkg-config
    Name: OpenCV
    Description: Open Source Computer Vision Library
    Version: 4.4.0
    Libs: -L/usr/opt/opencv-4.4.0/x64/mingw/staticlib -lopencv_world440
    Libs.private: -L/usr/opt/opencv-4.4.0/x64/mingw/staticlib -llibjpeg -llibpng -llibtiff -lIlmImf -L/usr/local/lib -lwebp -lvfw32 -lwinmm -lcomctl32 -lgdi32 -lole32 -lsetupapi -lws2_32 -lstdc++ -lglu32 -lopengl32 -lzlib -lopenjp2
    Cflags: -I/usr/opt/opencv-4.4.0/include/opencv -I/usr/opt/opencv-4.4.0/include
    ----------------------------------------------------------------------

     测试是否编译成功

    #include <opencv2/opencv.hpp>
    #include <iostream>
    using namespace cv;
    using namespace std;
    
    int main(int argc, char** argv)
    {
     Mat image(600, 800, CV_8UC3, Scalar(100, 250, 30)); 
     String windowName = "Window with Blank Image";
     namedWindow(windowName);
     imshow(windowName, image);
     waitKey(0);
     destroyWindow(windowName);
     return 0;
    }

    编译链接

    version=opencv
    version=opencv220
    version=opencv2413
    version=opencv300
    version=opencv3411
    version=opencv440
    
    OCV_CXXFLAGS=`pkg-config --cflags --static $version`
    OCV_LIBS=`pkg-config --libs --static $version`
    OCV_LIBS=${OCV_LIBS}" -lcomdlg32 -lgdi32 -lcomctl32"
    
    echo OCV_CXXFLAGS = $OCV_CXXFLAGS
    echo OCV_LIBS     = $OCV_LIBS
    
    echo CC;g++ -c opencv.cc $OCV_CXXFLAGS && 
    echo LINK;g++ -g opencv.o -o opencv-g $OCV_LIBS -static
    
    cp opencv-g.exe opencv.exe && 
    echo STRIP; strip opencv.exe

    运行exe文件,验证编译的库文件是否正常;

    最后不要忘记改过名的 local/include/google/protobuf ,改回原来的名字

  • 相关阅读:
    css实现并列效果
    去除inline-block之间的间距
    鼠标点击<input>输入域后出现有颜色的边框
    消除a标签点击后产生的虚线框
    超过既定行数时,用省略号代替的方法
    常用按钮样式
    常用颜色
    通过Gulp流方式处理流程
    IntelliJ IDEA 10 配置 Tomcat7
    chrome浏览器调试线上文件映射本地文件
  • 原文地址:https://www.cnblogs.com/nlsoft/p/13640567.html
Copyright © 2011-2022 走看看