gpt4 book ai didi

c++ - 如何使用 Qt5 编写 C++11?

转载 作者:IT老高 更新时间:2023-10-28 22:19:30 25 4
gpt4 key购买 nike

我正准备和我的 friend 一起编写一个跨平台项目。我们决定分别使用 Qt 和 gcc 作为我们的 IDE 和工具链。他在 Linux 上工作,我在 Windows 上工作。

但是,Linux 上的 gcc 不一定是 Windows 上的 gcc。更具体地说,Windows 上的 Qt 使用 gcc 4.4 安装 mingw,而我的 friend 使用 gcc 4.7。所以我尝试为 windows 获取更新的 gcc 版本。

我当前的 Qt 版本是 5,并使用从该站点下载和安装的 gcc 4.7:http://www.equation.com/servlet/equation.cmd?fa=fortran

我将它安装在 C:\QtSDK\mingw 并简单地覆盖了 Qt 安装中存在的所有文件。我想如果我只是走捷径,我就不必在 Qt 中重新配置任何东西。

但是,即使使用编译器标志:

QMAKE_CXXFLAGS += -std=c++0x (Qt 4.7)

CONFIG   += c++11 (Qt5)

IDE 或工具链无法编译简单的基于范围的 for 循环:

int main(int argc, char *argv[])
{
int my_array[5] = {1, 2, 3, 4, 5};
for (auto x : my_array)
std::cout << x << std::endl;

return 0;
}

或初始化列表:

int main(int argc, char *argv[])
{
QVector<int> testsData { 1, 2, 10, 42, 50, 123 };
QStringList options = { QLatin1String("foo"), QLatin1String("bar") };

return 0;
}

但是,查看 gcc 4.7 的实现细节,这两个特性以及更多特性都应该很容易获得。

有没有其他人尝试在 Windows 上使用 gcc 和 Qt?如果是这样,你是如何让它工作的?我想要一个使用 gcc 4.6 或 4.7 的解决方案,但如果根本不可能,我会接受更少的解决方案。

或者,是否有适用于 Linux 和 Windows 的开发环境利用 C++11 功能?如果它能正常工作,我也会满足于 Qt 之外的其他东西......

我使用了来源:

C++0x in Qt (Qt 4.7-4.8)

C++11 in Qt5

最佳答案

QMAKE_CXXFLAGS += -std=c++0x

导致错误,因为您没有使用 MinGW 编译器。 “D9002: Ignoring unknown option -std=c++0x”是来自 MSVC 编译器的错误。

在 QtCreator 中,转到项目选项卡(左侧)并更改您正在使用的工具链。如果它没有自动检测到 MinGW,您将不得不通过单击管理按钮自己添加它。

关于c++ - 如何使用 Qt5 编写 C++11?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11066068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com