Win10下Qt+OpenCV+Cmake编译错误

Win10下Qt+OpenCV+Cmake编译错误

 

工具:

QT5.14.2

cmake-3.19.1-win64-x64

opencv4.3.0

mingw-w64-install

 

安装完Opencv、Qt和Cmake之后在cmd下通过mingw32-make编译,结果出现错误,错误提示如下:

 

错误(一):

gcc: error: long: No such file or directory

C:\Strawberry\c\bin\windres.exe: preprocessing failed.

mingw32-make[2]: *** [modules\core\CMakeFiles\opencv_core.dir\build.make:1494: modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj] Error 1

mingw32-make[1]: *** [CMakeFiles\Makefile2:1909: modules/core/CMakeFiles/opencv_core.dir/all] Error 2

mingw32-make: *** [Makefile:181: all] Error 2

 

原因:the windres.exe mingw uses cannot handle/escape “long long” given as a cmdline arg

解决方法:在cmake里面找到OPENCV_ENABLE_ALLOCATOR_STATS或者在search里面搜索,然后把后面的勾选去掉,接着Configure和Generate后,接着在cmd窗口中mingw32-make即可继续编译。

 

 

错误(二):

D:/Qt6/Tools/mingw730_64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: i386 architecture of input file `CMakeFiles\opencv_core.dir/objects.a(vs_version.rc.obj)' is incompatible with i386:x86-64 output

collect2.exe: error: ld returned 1 exit status

mingw32-make[2]: *** [modules\core\CMakeFiles\opencv_core.dir\build.make:1708: bin/libopencv_core430.dll] Error 1

mingw32-make[1]: *** [CMakeFiles\Makefile2:1909: modules/core/CMakeFiles/opencv_core.dir/all] Error 2

mingw32-make: *** [Makefile:181: all] Error 2

 

原因:兼容问题

解决方法:http://mingw-w64.org/doku.php/download下载安装mingw-w64-install,成功后接着Configure和Generate后,在cmd窗口中mingw32-make即可继续编译

 

错误(三):

[ 33%] Linking CXX shared library ..\..\bin\libopencv_core430.dll

D:/Qt6/Tools/mingw730_64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: i386 architecture of input file `CMakeFiles\opencv_core.dir/objects.a(vs_version.rc.obj)' is incompatible with i386:x86-64 output

collect2.exe: error: ld returned 1 exit status

mingw32-make[2]: *** [modules\core\CMakeFiles\opencv_core.dir\build.make:1708: bin/libopencv_core430.dll] Error 1

mingw32-make[1]: *** [CMakeFiles\Makefile2:1909: modules/core/CMakeFiles/opencv_core.dir/all] Error 2

mingw32-make: *** [Makefile:181: all] Error 2

 

解决方法:在cmake gui中添加条目OPENCV_VS_VERSIONINFO_SKIP = 1,再重新Configure,Generate后,在cmd窗口中mingw32-make即可继续编译

 

 

 

 

 

 

 

 

 

 

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值