使用Mingw-make构建OpenCV 3.3,错误2为47%

时间:2017-09-19 11:06:57

标签: c++ opencv build cmake mingw

当尝试使用mingw编译器构建OpenCV 3.3.0时,我不断收到错误。首先我使用CMake生成构建文件(我选择Mingw makefile并自己选择gcc en g ++编译器,尽管使用本机编译器会在同一时间给出同样的错误)。当我然后使用mingw32-make构建OpenCV时,我得到了大约48%的以下错误:

 48%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/mathfuncs_core.avx.cpp.obj
[ 48%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/convert.avx2.cpp.obj
[ 48%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/mathfuncs_core.avx2.cpp.obj
[ 48%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/stat.avx2.cpp.obj
[ 48%] Building RC object modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj
C:\Qt\Tools\mingw530_32\bin\windres.exe: unknown option -- W
Usage: C:\Qt\Tools\mingw530_32\bin\windres.exe [option(s)] [input-file] [output-file]
 The options are:
  -i --input=<file>            Name input file
  -o --output=<file>           Name output file
  -J --input-format=<format>   Specify input format
  -O --output-format=<format>  Specify output format
  -F --target=<target>         Specify COFF target
     --preprocessor=<program>  Program to use to preprocess rc file
     --preprocessor-arg=<arg>  Additional preprocessor argument
  -I --include-dir=<dir>       Include directory when preprocessing rc file
  -D --define <sym>[=<val>]    Define SYM when preprocessing rc file
  -U --undefine <sym>          Undefine SYM when preprocessing rc file
  -v --verbose                 Verbose - tells you what it's doing
  -c --codepage=<codepage>     Specify default codepage
  -l --language=<val>          Set language when reading rc file
     --use-temp-file           Use a temporary file instead of popen to read
                               the preprocessor output
     --no-use-temp-file        Use popen (default)
  -r                           Ignored for compatibility with rc
  @<file>                      Read options from <file>
  -h --help                    Print this help message
  -V --version                 Print version information
FORMAT is one of rc, res, or coff, and is deduced from the file name
extension if not specified.  A single file name is an input file.
No input-file is stdin, default rc.  No output-file is stdout, default rc.
C:\Qt\Tools\mingw530_32\bin\windres.exe: supported targets: pe-i386 pei-i386 elf32-i386 elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex
modules\core\CMakeFiles\opencv_core.dir\build.make:1641: recipe for target 'modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj' failed
mingw32-make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj] Error 1
mingw32-make[2]: *** Waiting for unfinished jobs....
CMakeFiles\Makefile2:1550: recipe for target 'modules/core/CMakeFiles/opencv_core.dir/all' failed
mingw32-make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
Makefile:159: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

在建立一个图书馆时我是一个新手,由于某些原因,建立它们似乎总是失败了。任何人都可以帮助我吗?

- 马亭

2 个答案:

答案 0 :(得分:4)

也许this answer可以提供帮助。这是cmake和预编译头文件的问题

  

试试这个:在cmake中取消选中ENABLE_PRECOMPILED_HEADERS

答案 1 :(得分:0)

如果取消选中bool ret = false; if (d1 < d2) { ret = true; } else if (d1 == d2) { // <-- add this! if (w1 < w2) { ret = true; } else if (w1 == w2) { // <-- add this! if (b1 < b2) { ret = true; } } } 不起作用。试试这个:

  1. 向CMake添加新条目
  2. 命名条目:ENABLE_PRECOMPILED_HEADERSOPENCV_ALLOCATOR_STATS_COUNTER_TYPE
  3. 配置并生成Value(String): int64_t
  4. 转到构建目录并执行MAKEFILEmake install

如果要获取有关编译日志的更多信息,可以运行mingw32-make install