Qt 5.7 将 -std=gnu++11 添加到我的编译器标志中,破坏 -std=c++14

2024-04-04

我在我的中设置以下标志CMakeLists.txt

set(CMAKE_CXX_FLAGS "-std=c++14 -g -O0")

然后我正在使用find_package定位Qt5Test

find_package(Qt5Test REQUIRED)

然后我正在创建一个模型测试 https://wiki.qt.io/Model_Test library

add_library          (modeltest STATIC ${SRCS})
target_link_libraries(modeltest Qt5::Test)

由于某种原因我得到-fPIC -std=gnu++11添加到我的编译器标志中

CMakeFiles/modeltest.dir/flags.make:CXX_FLAGS = -std=c++14 -g -O0 -fPIC -std=gnu++11

这正在破坏我的-std=c++14标志,导致我的程序中的所有 c++14 功能最终出现编译器错误:

error: ‘foo’ function uses ‘auto’ type specifier without trailing return type
constexpr auto foo()
                   ^
note: deduced return type only available with -std=c++14 or -std=gnu++14
  • 有没有办法来解决这个问题?
  • 我今天使用的是从他们的网站下载的最新版本的 Qt 5.7

不设置CMAKE_CXX_FLAGS明确地。
使用这个代替:

set(CMAKE_CXX_STANDARD 14)

这肯定会设定每个使用的标准target.


正如评论中所建议的,还应考虑以下因素:

set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

See this https://crascit.com/2015/03/28/enabling-cxx11-in-cmake/链接以获取更多详细信息。
感谢@CraigScott 指出了这一点。


正如 @wasthishelpful 的评论中提到的,属性CXX_STANDARD https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html, CXX_STANDARD_REQUIRED https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD_REQUIRED.html and CXX_EXTENSIONS https://cmake.org/cmake/help/latest/prop_tgt/CXX_EXTENSIONS.html也可用于每个目标的配置。
请参阅上面的链接了解更多详细信息。

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

Qt 5.7 将 -std=gnu++11 添加到我的编译器标志中,破坏 -std=c++14 的相关文章

随机推荐

  • Android Drawable(进度条、开关)渲染问题

    我正在尝试实现下面的用户界面 我正在使用带有 ADT 插件的 Eclipse 下面是圆 白色 深灰色 的实现 circle shape xml
  • 页面加载 - 页面之间出现白色“闪烁”

    有两个网站 一个正在运行 一个正在开发中 我正在将一个站点移植到 Zend Framework 出于可维护性 集成目的 原始 实时 站点具有无缝页面加载 它将加载 然后更新屏幕上的内容 同时保留页面上的背景图像 导航等 移植的网站 开发 会
  • 在 Swift 3.0 中创建目录

    我是一名九年级新生swift 创建一个学校项目 我正在尝试创建一个目录 将扫描文件保存为 pdf 格式 创建目录时出现以下错误 错误1 无法在属性初始值设定项中使用实例成员 filemgr 属性初始值设定项在 self 可用之前运行 Err
  • 如何使用相同的函数按行比较矩阵列表

    假设我有一个包含两个矩阵的列表 x and y x lt c 3 4 5 5 3 4 5 6 5 6 2 1 x lt matrix x 3 4 y lt c 3 4 5 5 3 4 5 6 5 5 2 1 y lt matrix y 3
  • 在字符串中添加新行以进行翻译

    我正在使用 ngx 翻译 如何在要翻译的字符串中添加换行符 在我的模板中 我有 STRING TO TRANSLATE translate 在我的 en json 中 STRING TO TRANSLATE text on first li
  • 如何将纪元转换为日期时间红移?

    我在 dbeaver 工作 我有一个表x 表 x 有一个 时间戳 列 1464800406459 1464800400452 1464800414056 1464800422854 1464800411797 我想要的结果 Wed 01 J
  • ggplot根据数据框中的值重新排序堆积条形图

    我正在 R 中使用 ggplot2 制作堆积条形图 并在 y 轴上具有特定的条形排序 create reproducible data library ggplot2 d lt read csv text Day Location Leng
  • BASH if 语句中的函数返回值

    我已经研究了这里处理 BASH if then 语句中的函数返回值的各种方法 但似乎都不起作用 这是我所拥有的 function is cloned if d DIR NAME then return SUCCESS fi return F
  • 在后台加载新场景

    我正在创建一个针对 Samsung Gear VR 的 Unity 应用程序 我目前有两个场景 最初的场景 第二个场景 数据量大 加载场景需要太多时间 从第一个场景开始 我想在后台加载第二个场景 并在加载后切换到它 当新场景在后台加载时 用
  • IE11未发起CORS请求

    通过摆弄 如果是跨源的 IE11 似乎不会发出 ajax 请求 如果资源 API 未发送必要的标头 FF 和 Chrome 至少会发出请求并抛出错误 在我的例子中 资源 API Web API 2 0 是添加所需的标头 http www a
  • 动态 Jquery 拆分器插件

    我正在尝试使用 Jquery Splitterhttp www methvin com jquery splitter http www methvin com jquery splitter 如果分隔窗格是静态的 它工作得很好 但我需要在
  • 两个视图 - 一个 ViewModel

    我一定是误解了这个概念ViewModels和意见 但目前我无法从地面重建应用程序 这次做得更好 我的情况是 我有一个视图 用户可以在其中加载文件并读取它们 绘图仪显示图形并实现一些操作 我希望能够生成数据报告 如摘要 但我希望它在其他视图中
  • 如何仅使用 HTML 和 CSS(或者我猜是 java)创建滚动文本的动画,就像苹果过去在其实时页面上使用的那样?

    我的网站顶部有一个蓝色横幅 左侧有浅色径向渐变 我想要在横幅右侧向上滚动的白色文本动画 我希望它在出现时淡入 然后淡出 我希望不使用 Flash 并尽可能少地使用 Java 来完成此操作 我可以通过 CSS 进行工作并设置布局 但我不知道如
  • C# 中的实时麦克风幅度测量

    我正在寻找简单的解决方案 它将返回 C 中麦克风输入的整数值 我已经在网上检查了可用的示例 但它们都不能在 x64 环境中工作 VS2008 W7 x64 是否有任何简单的解决方案可以返回 C 中麦克风输入的幅度 或频率 值 我尝试了 NA
  • Julia ccall 接口和符号的问题

    我正在尝试使用朱莉娅的ccall与 C 库接口的函数 所有类型和指针都是正确的 并且下面的函数调用成功返回正确的答案 为简洁起见 此处未显示变量定义和设置 ccall vDSP convD libacc Void Ptr T Int64 P
  • jquery("foo bar") 与 jquery("foo").find("bar")

    我正在尝试遍历 xml 文档 这不起作用 零结果 jquery foo bar 这确实有效 jquery foo find bar 知道为什么吗 jquery foo bar 第一个查找 bar 元素是 foo 元素的后代 所以在这个例子中
  • 套接字编程最佳实践?

    我正在设计一个文件同步应用程序 如 DropBox 客户端在端口 443 上与服务器保持持久的安全 SSL TCP 套接字 每当在客户端上创建 更改 删除文件时 包含相关数据的数据包就会通过套接字发送到服务器 服务器对其进行处理更新服务器上
  • #include<> 和 #define"" 之间有什么区别[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 有人能告诉我 include 和 define 之间的区别吗 我知道 include 用于包含头文件 define 用于定义宏或常量 是不是
  • 在 Spring Security 中以编程方式自定义 WebAuthenticationDetails

    我目前正在从基于 xml 的 spring security 配置转向基于 java 的配置 我需要通过 Java 设置自定义 WebAuthenticationDetails 有没有办法做到这一点 在 XML 中 我只需设置 Userna
  • Qt 5.7 将 -std=gnu++11 添加到我的编译器标志中,破坏 -std=c++14

    我在我的中设置以下标志CMakeLists txt set CMAKE CXX FLAGS std c 14 g O0 然后我正在使用find package定位Qt5Test find package Qt5Test REQUIRED 然