我安装了Qt 5.10最新版本和opencv3.4.1,我无法在这个版本的Qt中安装Cmake,有人能帮我在windows 10 64位上完成吗?我尝试使用这个视频也是https://www.youtube.com/watch?v=ZOSu-2Oju-A,在cmd步骤中我有这个(在这个链接中的图片)

在这个链接(( 视窗 ))中,我仔细地做了所有的步骤,但是我没有在opencv-build中找到文件夹,我的操作系统是windows 10,64位,谢谢帮助。
发布于 2018-08-09 12:25:48
Note:我的答案更多地是基于[SO]:cmd中的openCV mingw-32错误 (发布的.pdf中提到的工具版本)
1.初步考虑
一开始,我尝试用我已经拥有的机器(Win 10)来构建它:
构建过程通过了这个阶段的(嗯,它在这一点下面的某个地方失败了,我没有确切地检查原因)。无论如何,我认为我使用的build env和建议的构建env太远了,所以我:
其核心问题(如注释中所指定的,或Google_ing错误)是_g++编译器不使用C++11标准(并且protobuf源代码需要它)。
因此,我做了一个小小的测试:将错误的代码粘贴到一个文件中(并添加了一个虚拟的main),并在2 MinGW安装中进行了尝试。
code00.cpp
template <typename char_type>
bool null_or_empty(const char_type *s) {
return (s == nullptr) || (*s == 0);
}
int main() {
return 0;
}输出
cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q049459395> sopr.bat *设置较短的提示,以便在粘贴到StackOverflow (或其他)页面* prompt> dir /b build build.bat cmake-gui.exe - Shortcut.lnk code.cpp src prompt> set _PATH=%PATH% prompt> Set PATH=%_PATH%;c:\Install\x64\MinGW32\MinGW32\7.2.0-posix-seh-rt_v5-rev1\mingw64\bin "c:\Install\x64\MinGW32\MinGW32\7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\g++“code.cpp prompt> "c:\Install\x64\MinGW32\MinGW32\7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\g++”--版本g++ (x86_64-posix-seh-rev1,1,由MinGW-W64项目建造) 7.2.0版权(C) 2017自由软件基金会公司。这是自由软件;有关复制条件,请参见源。没有任何保证,即使是适销性或适合某一特定用途。prompt> dir /b a.exe build.bat cmake-gui.exe - Shortcut.lnk code.cpp src prompt> del /q a.exe prompt> set PATH=%_PATH%;c:\Install\Qt\Qt\Tools\mingw530_32\bin prompt> "c:\Install\Qt\Qt\Tools\mingw530_32\bin\g++“code.cpp code.cpp: in function 'bool null_or_empty(const char_type*)':code.cpp:3:17: error:'nullptr‘在此作用域中未声明为’nullptr‘,在此范围内未声明(s == nullptr) x (*s == 0);^ prompt> "c:\Install\Qt\Qt\Tools\mingw530_32\bin\g++“--版本g++ (i 686-posix-侏儒-rev0,由MinGW-W64项目建造) 5.3.0版权(C) 2015自由软件基金会公司。这是免费软件,请参阅复制条件的来源。没有任何保证,即使是适销性或适合某一特定用途。prompt> "c:\Install\Qt\Qt\Tools\mingw530_32\bin\g++“code.cpp -std=c++0x prompt>
正如所见,旧的g++需要显式的-std=c++0x 。
按照构建步骤,我得到了与下面的图像相同的错误(我在protobuf的dir中直接启动了mingw32 32-make,以跳过它之前构建的所有其他东西):

2.解决办法
两者都是在cmake级别完成的。设置路径后:
Notes
2.1强制C++11标准
单击“添加条目”并设置标准

下面,请注意,构建通过了以前失败的点:

2.2 Skip Protobuf构建
Notes
搜索Protobuf相关变量,取消选中构建中或组中的 any (蓝色行):

其效果也在下面-- Protobuf构建不再发生(就在libIlmImf之后):

https://stackoverflow.com/questions/49459395
复制相似问题