Qt 项目中的 unique_ptr

Posted

技术标签:

【中文标题】Qt 项目中的 unique_ptr【英文标题】:unique_ptr in Qt project 【发布时间】:2015-05-04 13:31:49 【问题描述】:

我有一个简单的 Qt 项目。我include <memory> 但 std::unique_ptr 不可用。我知道我应该使用 Qt 特定的智能指针,但我需要包含一个更大的项目,其中包含 std::unique_ptr。

我能做什么?

谢谢!

【问题讨论】:

如果您没有 c++11 编译器,Qt 有自己的智能和共享指针。 你用的是什么编译器?你在使用 C++11/14 吗? 我如何从 Qt Creator 中看到? 可以添加编译器和编译器版本吗? 【参考方案1】:

智能指针需要 C++11。根据您的 Qt 版本:如果您有 Qt5 及更高版本,请将 CONFIG += c++11 添加到您的 .pro 文件中。正如西蒙所说,它需要包含<memory>。 如果您的版本低于 Qt5,请尝试添加:QMAKE_CXXFLAGS += -std=c++11

【讨论】:

【参考方案2】:

包括内存:

#include <memory>

配置您的 Qt 项目以使用 C++11。添加到您的 .pro 文件中:

CONFIG += c++11

如果这不能解决问题,请添加详细的错误消息。

【讨论】:

我的 .pro 文件如下所示:pastebin.com/wMKpDHAX 但它似乎不起作用(包括内存) 我如何为打开的 cmake 项目执行此操作?

以上是关于Qt 项目中的 unique_ptr的主要内容,如果未能解决你的问题,请参考以下文章

Qt Vs addin - 不为 moc_*.cpp 文件生成 .obj 文件

Qt - QPushButtons 代替 QTreeView 项目

Qt中的一个问题 求大神帮忙

没有为架构 x86_64 找到带有 QWebKit 符号的 Qt 项目

Qt:如何告诉 Qmake 在 Visual Studio 项目中包含 ws2_32

DCMTK 库与 mac 中的 qt