Nic*_*aus 5 c++ qt cmake c++14
我有一个CMake Qt项目,它使用了几个c ++ 14功能,包括std::make_unique.通常,这将通过以下方式处理:
LIST(APPEND CMAKE_CXX_FLAGS -std=c++14)
Run Code Online (Sandbox Code Playgroud)
要么
ADD_COMPILE_OPTIONS(-std=c++14)
Run Code Online (Sandbox Code Playgroud)
我想将项目从5.6版升级到5.7版,但在测试版本中,出现了多次错误
命名空间std中没有成员'make_unique'
我已经验证了所有适当的头文件和编译选项,并排除了任何环境问题.这绝对是使用Qt 5.7的一个问题.有没有解决方法?
事实证明这是CMake/Qt 5.7的一个已知问题.显然,从CMake 3.1开始,定义在CMake中使用哪种C++标准的正确方法就是
SET(CMAKE_CXX_STANDARD 14)
Run Code Online (Sandbox Code Playgroud)
作为Qt的5.7的,使用任何方法,除了用于CMAKE_CXX_STANDARD将导致C++ 14级的错误等问题中所提到的一个.使用此方法清除了构建的所有错误.
有趣的是,错误报告是非常有趣的阅读,因为最初这个问题被认为是一个释放阻止,然后降级到一个已知问题,并最终(貌似)甚至从已知问题列表中清除.
| 归档时间: |
|
| 查看次数: |
1141 次 |
| 最近记录: |