opencv静态编译win10
msys2的mingw环境:
git clone https://github.com/opencv/opencv.git -b 4.12.0
git clone https://github.com/opencv/opencv_contrib.git -b 4.12.0mv opencv opencv-4.12.0
mv opencv_contrib opencv_contrib-4.12.0mkdir build && cd buildcmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DBUILD_opencv_world=ON -DCMAKE_CXX_FLAGS="-static -static-libstdc++ -static-libgcc -Wno-implicit-fallthrough" -DCMAKE_EXE_LINKER_FLAGS="-static" -DWITH_IPP=OFF -DWITH_TBB=OFF -DWITH_OPENMP=OFF -DWITH_CUDA=OFF -DWITH_MSMF=OFF -DWITH_FFMPEG=OFF -DWITH_QT=OFF -DWITH_GTK=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_EXAMPLES=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DOPENCV_ENABLE_NONFREE=ON -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.12.0/modules ../opencv-4.12.0ninjacmake --install . --prefix /c/mycode/opencvbuild
pro文件内容:
主要是看mingw依赖静态链接库
TEMPLATE = app
CONFIG += console c++17
CONFIG -= app_bundle
CONFIG -= qt# 静态编译
CONFIG += static release# mingw依赖静态链接库
QMAKE_LFLAGS += -static -static-libgcc -static-libstdc++
QMAKE_CXXFLAGS += -static -static-libgcc -static-libstdc++SOURCES += \main.cpp
INCLUDEPATH += C:/mycode/opencvbuild2/include
LIBS += C:/mycode/opencvbuild2/x64/mingw/staticlib/libopencv_world4120.a \C:/mycode/opencvbuild2/x64/mingw/staticlib/libopencv_img_hash4120.a \C:/mycode/opencvbuild2/x64/mingw/staticlib/libade.a \C:/mycode/opencvbuild2/x64/mingw/staticlib/libIlmImf.a \C:/mycode/opencvbuild2/x64/mingw/staticlib/liblibjpeg-turbo.a \C:/mycode/opencvbuild2/x64/mingw/staticlib/liblibpng.a \C:/mycode/opencvbuild2/x64/mingw/staticlib/liblibprotobuf.a \C:/mycode/opencvbuild2/x64/mingw/staticlib/liblibopenjp2.a \C:/mycode/opencvbuild2/x64/mingw/staticlib/liblibtiff.a \C:/mycode/opencvbuild2/x64/mingw/staticlib/liblibwebp.a \C:/mycode/opencvbuild2/x64/mingw/staticlib/libzlib.a# 还要加上 Windows GUI 所需的系统库:
LIBS += -lgdi32 -lcomdlg32 -lcomctl32 -lole32 -luuid -lopengl32