用mingw、qt、windows构建opencv时出错了

问题描述 投票:0回答:1

我试图用mingw为Qt 5.13.0构建opencv库。我使用cmake的选项生成了makefile。

"C:\Program Files (x86)\CMake\bin\cmake.exe" ../sources -G "MinGW Makefiles" -DWITH_QT=ON -DWITH_QT_OPENGL=ON -DBUILD_EXAMLES=ON -DQT_QTCORE_LIBRARY_DEBUG="Qt5Cored.dll" -DQT_QTCORE_LIBRARY_RELEASE="Qt5Core.dll" -DQT_QMAKE_EXECUTABLE="qmake.exe" -DCMAKE_BUILD_TYPE=Release -DENABLE_PRECOMPILED_HEADERS=OFF

当我尝试用 "mingw32-make "构建所有的库时,出现了错误。

[ 40%] Building RC object modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj
gcc: error: long: No such file or directory
C:\Qt\Tools\mingw730_64\bin\windres.exe: preprocessing failed.
mingw32-make[2]: *** [modules\core\CMakeFiles\opencv_core.dir\build.make:1495: modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj] Error 1
mingw32-make[2]: *** Waiting for unfinished jobs....
mingw32-make[1]: *** [CMakeFiles\Makefile2:1889: modules/core/CMakeFiles/opencv_core.dir/all] Error 2
mingw32-make: *** [Makefile:182: all] Error 2

版本: CMake - 3.17.2: CMake - 3.17.2, Qt - 5.13.0, opencv - 4.3.0 我该如何解决这个问题?

c++ qt opencv mingw
1个回答
0
投票

解决方案:你需要打开 "modulescoreCMakeFilesopencv_core.dirflag.make",并将 "RC_DEFINES=... "替换为 "RC_DEFINES=.... "改为 "RC_DEFINES = -DCVAPI_EXPORTS -D_USE_MATH_DEFINES -D_WIN32_WINNT=0x0601 -D__OPENCV_BUILD=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS" 。

© www.soinside.com 2019 - 2024. All rights reserved.