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 项目
没有为架构 x86_64 找到带有 QWebKit 符号的 Qt 项目