将 -std=gnu++11 编译器标志添加到 QMake

2023-12-26

我正在 Windows 上使用 mingw32 和 g++.4.9.3 编译 qt5.7。 执行configure.bat时,我收到此错误:

C:\qt-everywhere-opensource-src-5.7.0\configure.bat -prefix C:\Qt-5.7 -skip qttools -skip qtwebchannel -skip qtwebengine -skip qtcharts -skip qtdatavis3d -platform win32-g++

C:\qt-everywhere-opensource-src-5.7.0\qtbase/qmake/library/qmakebuiltins.cpp: 在成员函数 'QByteArray QMakeEvaluator::getCommandOutput(const QString&) const' 中: C:\qt-everywhere-opensource-src-5.7.0\qtbase/qmake/library/qmakebuiltins.cpp:419:94: 错误: '_popen' 未在此范围内声明 + QLatin1String(" && ") + args).toLocal8Bit().constData(), "r")) {

导致此错误的命令是:

g++ -c -o qmakebuiltins.o -std=c++11 -DUNICODE -ffunction-sections -g -IC:\qt-everywhere-opensource-src-5.7.0\qtbase/qmake + 很多东西

另外,以下代码:

    #include <stdio.h>

int main( int argc, char ** argv )
{
     FILE * f = popen( argv[ 1 ], "r" );
     return 0;
}

不编译

g++ -std=c++11 mytest.cpp -o mytest

但与:

>g++ -std=gnu++11 mytest.cpp -o mytest

所以问题是如何将配置文件传递给 g++ 的选项 c++11 修改为 gnu++11 ? 谢谢


在 Qt 中添加编译器选项非常容易。只需在 qmake 文件中的某个位置添加以下行即可。

# C++ Compiler flags: Gnu C++ Extensions
QMAKE_CXXFLAGS += -std=gnu++11

同样如果你想通过C编译器选项,使用这个

# C Compiler flags for qmake 
QMAKE_CFLAGS += -std=gnu99

原因_popen不适用于c++11的一点是它是作为 GNU C++ 扩展实现的,而不是标准 C++ 中的。同样,VisualStudio也定义了_popen与 C++ 标准库分开。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 -std=gnu++11 编译器标志添加到 QMake 的相关文章

  • Qt - 意外的 GDB 退出

    我正在尝试开发一个应用程序 该应用程序创建图像并使用双线性插值填充颜色像素 然后显示它 到目前为止我的代码如下 include
  • Qt:关闭期间线程仍在运行时 qthread 被销毁

    我有一堂课 class centralDataPool public QObject Q OBJECT public centralDataPool QObject parent 0 centralDataPool commMonitor
  • 使用 QTestLib 时抑制 qDebug

    我正在向 Qt 中的项目添加单元测试 并希望使用 QTestLib 我已经设置了测试并且它们运行良好 问题是在项目中我们重写了 qDebug 以输出到我们自己的日志文件 这在运行应用程序时效果很好 问题是当我测试类时 它有时会开始记录 然后
  • 在 Qt 中创建/写入新文件

    我正在尝试写入文件 如果该文件不存在 则创建它 我在互联网上搜索过 但没有任何效果 我的代码目前看起来像这样 QString filename Data txt QFile file filename if file open QIODev
  • 渲染具有透明度的纹理时,OpenGL 不需要的像素

    我已经为这个问题苦苦挣扎了一段时间了 当我使用 OpenGL 渲染 2D 纹理 在无透明度和部分透明度之间的过渡上具有透明度值 时 我得到了一些烦人的灰色像素 我认为这是像素值插值的产物 关于如何改进这一点有什么想法吗 I m attach
  • 在 Qt 中构建 Android 项目不再有效

    所以我对 Android SDK NDK 和 Apache Ant 进行了一些更新 现在我无法构建任何 Android 项目 我收到一条警告 然后它说找不到 build xml 文件 错误 Warning Android platform
  • 在 Qt 中用像素图画笔画一条线?

    一段时间以来 我正在使用 Qt C 开发一个简单的绘图和绘画应用程序 目前我正在使用 QPainter drawLine 进行绘制 并且工作正常 我想做的是用像素图画笔绘图 这是我可以做到的 我可以使用 QPainterPath 和 QPa
  • 动态加载库和共享全局符号

    由于我在动态加载的库中观察到全局变量的一些奇怪行为 因此我编写了以下测试 首先我们需要一个静态链接库 头文件test hpp ifndef BASE HPP define BASE HPP include
  • PyQt QFileDialog exec_ 很慢

    我正在使用自定义QFileDialog因为我想选择多个目录 但是exec 功能非常慢 我不明白为什么 我正在使用最新版本的 PyQt 代码片段 from PyQt4 import QtGui QtCore QtNetwork uic cla
  • 将 QMAKE_CXXFLAGS += -std=c++11 添加到 qt 中的 .pro 文件不起作用(在 linux 12.04 上)

    编译器输出 main o 错误 1 cc1plus 错误 无法识别的命令行选项 std c 11 解决方案是更新系统上的旧 gcc 版本 事实上 我很惊讶你的 12 04 Ubuntu 变体上有这么旧的版本 默认情况下应该有 4 6 3 您
  • QStandardItemModel::removeRows() 在我的用例中不起作用

    基本上我想删除模型中的所有行 我更喜欢使用removeRows 代替clear 因为我想保留我的标题 我想我错过了一些东西 文档在这里 http doc qt nokia com 4 7 snapshot qstandarditemmode
  • 在 qmake 中手动配置影子构建

    我非常喜欢 qt Creator 中的一个功能 那就是 Shadow 构建 当 Shadow Build 打开时 所有生成的文件 moc Makefile o 都将在给定的源目录中生成 因此源目录保持干净 我正在从 qt Creator 转
  • 如何搭建qtwayland?

    我花了一整天的时间尝试使用QtWayland Compositor 1 0在 Qt 创建者中 我已经遵循了从那里开始的所有步骤https wiki qt io QtWayland https wiki qt io QtWayland但我收到
  • 带 Qt 的菜单栏/系统托盘应用程序

    我是 Qt PyQt 的新手 我正在尝试制作一个应用程序 其功能将从菜单栏 系统托盘执行 这里展示了一个完美的例子 我找不到关于如何做到这一点的好资源 有人可以建议吗 Thanks 我认为您正在寻找与QMenu and QMainWindo
  • 如何使用eclipse构建C++应用程序

    我已经从以下位置下载了 Eclipse Juno for C here http www eclipse org downloads download php file technology epp downloads release ju
  • 如何在qt中进行异步文件io?

    我想知道如何在qt中实现异步文件io 这在普通的 qt 中是否可以实现 或者有人需要使用另一个库 例如 libuv 来实现这样的事情 我正在查看 QDataStream 但即使它是一个 流 它也不是非阻塞的 我想一种解决方案是制作一个在内部
  • 与 MinGW 的静态和动态/共享链接

    我想从一个简单的链接用法开始来解释我的问题 假设有一个图书馆z它可以编译为共享库 libz dll D libs z shared libz dll 或静态库 libz a D libs z static libz a 让我想要链接它 然后
  • SWI-Prolog 与 C++ 接口的问题

    我试图让 SWI Prolog 与 C 很好地配合 现在束手无策 现在 在我开始准确解释我的问题是什么之前 我想首先说明我的项目是关于什么的以及我选择了哪些工具来开发解决方案 我的教授分配给我的任务是开发一个 GUI 程序 作为 SWI p
  • 我应该使用 QCoreApplication::processEvents() 还是 QApplication::processEvents()?

    我有一个从两者调用的方法QThreads和主线程 这个方法有时可能需要很长时间才能在循环中进行计算 所以我把QCoreApplication processEvents 这可以防止 GUI 冻结 在某个时刻我已经改变了QCoreApplic
  • PyQt - 如何从给定的小部件获取顶级父级?

    给定的小部件如何访问它最旧的父级 即顶级小部件 我需要 showMinimized it 现在我正在使用 self parent parent parent showMinimized 但这似乎不是最好的方法 如果它移动了 我需要手动更改父

随机推荐

  • 简化具有重复关联类型限制的 where 子句

    我编写了以下函数来对迭代器求和 use std ops Add fn sum iter i s I init I Item gt I Item where I Iterator Clone i Item Add i i
  • Solr 字段崩溃

    I read http wiki apache org solr FieldCollapsing http wiki apache org solr FieldCollapsing 我尝试了查询 我并没有看到这个领域崩溃 我的意思是我看到了
  • SSRS 的自动化部署选项

    我的任务是研究如何自动化 SSRS 2012 报告的部署过程 有什么好的工具吗 我正在考虑类似按一个按钮 报告就会被部署的事情 Thanks 为了部署我们的 SSRS 报告 我们使用这个可爱的 powershell 项目 https git
  • std::reference_wrapper 和简单指针有什么区别?

    为什么需要有std reference wrapper http en cppreference com w cpp utility functional reference wrapper 应该用在哪里 它与简单的指针有什么不同 它的性能
  • 反应本机相机胶卷

    没有注意到太多关于如何使用 React Native 中的 CameraRoll 库的示例代码 指南 我发现文档中的示例有点 模糊 且令人困惑 我第一次使用任何 API 所以我也不完全理解我应该如何使用该库 到目前为止 我已经将其导入为 i
  • VBA,如果字符串包含某个字母

    我通常不与VBA我无法弄清楚这一点 我试图确定电子表格上的字符串中是否包含某个字母 Private Sub CommandButton1 Click Dim myString As String RowCount WorksheetFunc
  • 为什么 Chrome 无法检查 Docker 容器中的 NodeJS 代码?

    我尝试在 Docker 容器内启动简单的 NodeJS 服务器并使用 chrome inspect 或 WebStorm 对其进行调试 调试端口9229已绑定但检查不起作用 另一方面 当我在没有 docker 的情况下运行相同的代码时 我可
  • 使用 jsPDF rtl 支持将 Html 转为 pdf

    我正在尝试使用 Angular 5 将 html 转换为 pdf这是我的代码 import as jsPDF from jspdf htmlToPdf var doc new jsPDF var specialElementHandlers
  • 从多对多关系续集中选择

    我尝试从一个表中选择并引用另一个表 我在餐桌食品和餐桌配料之间存在多对多的关系 食品型号 module exports function sequelize DataTypes return sequelize define food id
  • 多次读取 Option<&mut T> 的引用

    我有一个Option lt mut T gt 并且想要多次访问包含的引用 如下所示 fn f a Option lt mut i32 gt if let Some x a x 6 if let Some x a x 7 fn main le
  • 如何使用PDF.JS显示整个PDF(不仅仅是一页)?

    我创建了这个演示 http polishwords com pl dev pdfjs test html http polishwords com pl dev pdfjs test html 它显示一页 我想显示所有页面 一个在另一个下
  • 长时间运行的 Android“服务”

    我有一个 Android 应用程序 其中 活动 会触发在后台运行的长时间运行的操作 这些操作完成后与活动交互 我正在开发一个处理活动 长时间运行任务耦合的组件 负责销毁和重新创建活动 现在该组件已作为 Android 服务实现 活动调用bi
  • 字谜索引计算[重复]

    这个问题在这里已经有答案了 给定一个由字符 A Z 组成的最长 25 个字符的输入字符串 输出其在输入字符串所有可能的字谜词按字母顺序排序的列表中的索引 输入字符串不区分大小写 输入的字符可以重复 该应用程序必须在 500 毫秒内完成 并且
  • 通过 JavaScript 进行 Base64URL 解码?

    所以我很困惑 我知道有很多用于 JS 的 Base64 编码器 解码器 但没有用于修改后的 以及 Facebook 喜欢的 Base64URL 变体 到目前为止 在 stackoverflow 上的搜索已经一无所获 是的 我可以使用 PHP
  • 是否有相当于 ChronoUnit. Between 的函数返回分数而不是整数?

    方法是这样的ChronoUnit HOURS between start end 回报long所以我无法从那里得到分数 是否有另一种方法 方法可以返回分数 整个要点ChronoUnit HOURS between start end 是获取
  • New-Object 在 PowerShell 2 上失败,并出现“找不到构造函数”错误

    我有以下脚本在 PowerShell 5 上运行良好 NetworkChange New Object System Net NetworkInformation networkchange Register ObjectEvent Inp
  • Android 2.2+ 中的拨出电话已应答状态

    在我的应用程序中 我发起了拨出呼叫 并使用 PhoneStateListener 来了解呼叫状态 每当我开始打电话时 电话状态都是TelephonyManager CALL STATE OFFHOOK 当呼叫接收者接听电话时 我没有收到电话
  • 查找列中的更改索引

    有没有办法用 R 找到列中因子变化的索引 例如 x lt c aaa aaa aaa bbb bbb ccc ddd 将返回 3 5 6 您可以尝试比较移位向量 例如 which x 1 x length x 1 3 5 6 这对角色都有效
  • 将列值收集到数组中

    我在开发时经常遇到的模式之一是尝试将对象集合中的列 属性值收集到数组中 例如 ids array foreach documents as document ids document gt name 我是唯一遇到这种情况的人吗 PHP 有没
  • 将 -std=gnu++11 编译器标志添加到 QMake

    我正在 Windows 上使用 mingw32 和 g 4 9 3 编译 qt5 7 执行configure bat时 我收到此错误 C qt everywhere opensource src 5 7 0 configure bat pr