小编Uni*_*rsE的帖子

如何在VS 2012中使用Qt5和Qt Creator 2.6.1与编译器?

官方下载现在仅包括VS 2010的Qt库5.0.0.我在VS 2012 Express中尝试了它们,但收到错误消息"错误:LNK2038:检测到'_MSC_VER'不匹配:值'1600'与值'1700'不匹配......"

我是否必须在VS 2012中安装VS 2010或编译Qt5的完整源代码?

更新:我的IDE是Qt Creator 2.6.1.我只在VS 2012中使用C++编译器,因为在官方下载中还没有用于minGW的Qt库5.0.0 .

UPDATE-2(2013-1-1):今天看到它,官方博客说:

我们还在为5.0系列做一些事情.我们有想要解决的错误.我们目前没有MinGW的二进制包(因为WebKit尚未使用它)和MSVC 2012(您需要从源代码编译),我们将尽快提供这些包.目前的计划是在1月底之前的某个时间发布第一个补丁级别5.0.1.

UPDATE-3(2013年1月31日): 说到最后,但只增加的Qt 5.0.1 MinGW的4.7.

UPDATE-4(2013-7-06):经过漫长的等待,Qt 5.1.0 for Windows 32-bit(VS 2012,511 MB)增加了.

c++ qt qt-creator qt5 visual-studio-2012

14
推荐指数
1
解决办法
1万
查看次数

有没有一种安全的方法可以将C++ 11智能指针和原始指针接口一起使用?

我想在新项目中使用C++ 11 Smart Pointers,并遇到问题.许多当前项目仍在其接口中使用原始指针作为参数,并且没有智能指针的接口,例如QMainWindow :: setCentralWidget.

为了保持类型一致,我必须get()像这段一样传递存储的指针:

QMainWindow win;

std::shared_ptr<QWidget> scrollArea{ std::make_shared<QScrollArea>() };
// QScrollArea is a derived class of QWidget.

win.setCentralWidget(scrollArea.get());
Run Code Online (Sandbox Code Playgroud)

但我无法确定Qt中的其他方法是否delete对存储的指针执行运算符scrollArea.

如果Qt中的某些方法可以导致内存泄漏或其他问题吗?

我检查了最新的C++标准CD,但没有发现任何内容.似乎这是一个未定义的行为.

如果这样做是一个未定义的行为并且很危险,是否有一种安全的方法可以使用带有原始指针接口的智能指针?

c++ qt interface smart-pointers c++11

13
推荐指数
1
解决办法
2029
查看次数

现在是否有observer_ptr的实现?

我想observer_ptr在我的项目中使用,但本文只定义了界面,而不是完整的实现.现在是否有开源实现,或者我必须自己完成?

c++ pointers smart-pointers

5
推荐指数
1
解决办法
2148
查看次数