我正在尝试使用 Qt 在 Windows 上构建 C++ 应用程序。
我的设置是:
- 已安装 Vs2008,2010,2012
- 安装 Qt 5 RC1
现在,当我#include 并尝试使用 std::unique_ptr 它告诉我它没有定义,所以我查看了 VS2010 标头并看到需要定义 _HAS_CPP0X,所以我将它添加到 .pro 作为 DEFINES += _HAS_CPP0X
这仍然没有效果,所以我 ctrl+clicked #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 选项)。