【发布时间】:2012-12-11 13:41:21
【问题描述】:
我正在尝试使用 Qt 在 Windows 上构建 C++ 应用程序。
我的设置是:
- 已安装 Vs2008,2010,2012
- 已安装 Qt 5 RC1
现在,当我#include 并尝试使用 std::unique_ptr 时,它告诉我它没有定义,所以我查看了 VS2010 标头并看到需要定义 _HAS_CPP0X,所以我将它添加到 .pro 作为 DEFINES + = _HAS_CPP0X
这仍然没有效果,所以我 ctrl+单击#include 内存只是为了找到它使用的内存头:
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include
其中真的没有任何 std::unique_ptr !
当然应该看:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include ?
我想我会通过完整路径包含内存,但这仍然失败,包含的内存标头本身与 C++11 相关的错误,例如移动和右值引用。
所以我想知道的是:
- Windows 上的 Qt 能否使用 Vs2010 支持的 C++11 功能?
- 如果是,那怎么办?
- 如果不是,那么我非常失望,因为在 Linux 上开发跨平台 Qt 5 应用程序意味着它不是跨平台的,因为它不可能为任何其他平台构建它!
编辑:
解决这个问题的方法很明确:下载 Qt5 的源代码并使用 MinGW 构建它,您就可以完成所有设置(包括已接受答案中的 C++11 pro 选项)。
【问题讨论】:
标签: c++ visual-studio-2010 visual-c++ c++11 qt5