gcc 不匹配标签选项给出“无法识别的命令行选项”

2024-03-13

我试图激活该选项-Wmismatched-tags在 gcc 上(检测不一致的类/结构声明,这可能在使用前向声明时发生),但在 Ubuntu 上我得到

c++: error: unrecognized command line option '-Wmismatched-tags'

我的海湾合作委员会版本:

# gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.

看这里似乎它已集成在 gcc 4.9.0 中https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61339 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61339

我是否做错了什么,或者该选项实际上不再可用?

我知道GCC 可以像 VS 一样产生结构/类名称不匹配吗? https://stackoverflow.com/questions/5712514/can-gcc-produce-struct-class-name-mismatches-like-vs,然而答案是 10 年前,我希望在此期间情况有所改善。

背景:我在一个项目中需要这个,我们也使用 clang 构建,并且这些不一致被视为错误。


看这里似乎它已集成在 gcc 4.9.0 中https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61339 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61339

事实上,事实并非如此。这是 2014 年报道的,但正如 OP 中解释的那样#5号帖子 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61339#c5:

我不能代表 MS 发言,但我发布的原始警告已生成 叮当声。它does似乎担心标签不匹配。

In gcc -Wmismatched-tags2019 年 12 月才推出, 成为 GCC 10 版本的一部分:

$ git describe e8f1ade269a39ea86a76a2440818e1512ed480ee
basepoints/gcc-10-5517-ge8f1ade269a

幸运的是,这些天我们有了 docker,官方 GCC 版本也发布了 正式发布为 docker 镜像:

$ docker search gcc
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
gcc                                The GNU Compiler Collection is a compiling s…   587                 [OK]
(...)

所以你可以这样做:

docker run --rm -it gcc

并将源目录安装到 docker 容器中或 使用docker 的 TRAMP 集成 容器 https://github.com/emacs-pe/docker-tramp.el或任何其他 将代码放入容器并在其中使用最新的 gcc 的首选工具:

root@53d309d5d619:/# g++ --version
g++ (GCC) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

gcc 不匹配标签选项给出“无法识别的命令行选项” 的相关文章

随机推荐

  • JAX-WS 从 jar 加载 WSDL

    我正在编写一个胖客户端 它使用 SOAP 服务来实现某些功能 错误报告等 我的 JAX WS 工作正常 但默认情况下 至少在 netbeans 中 它会在每次初始化服务时从远程服务器获取 WSDL 我希望这有助于提供一些版本控制支持等 但这
  • SQL Select 语句中的动态列,保留“未定义”值

    这是基于我之前的问题的一个新问题 该问题被标记为问题的 重复 mySQL 使用三个表中的数据和列创建新表 https stackoverflow com questions 26665499 mysql create a new table
  • 使用 React 定期运行 fetch

    我有一个包含不同反应组件的网格 所有组件都是独立的 因为它们获取自己的数据并显示它 我想以某种方式让它们每 15 分钟自动重新获取和更新一次 我的第一个想法是 HOC 但是随着更新的钩子和功能组件的出现 我尝试了一些使用钩子的东西 所以我已
  • 何时抑制 PHP 中的错误

    我有一些可能已定义或未定义的变量 isLoggedIn布尔值 我正在尝试清除错误消息 我想知道是否有任何理由不应该使用错误抑制运算符 if isLoggedIn 或者我是否应该首先检查变量是否存在 if isset isLoggedIn a
  • javafx.scene.control.TableColumn 无法转换为 javafx.scene.control.TableColumn$CellDataFeatures

    我在填充 javafx tableview 时遇到问题 我目前正在开发一个基于 GUI 的事件管理工具 适用于大学 并且我一直在尝试填充 Tableview 列表 该列表应该位于边框窗格布局的中心 这是我的代码 它很长的想法 它的主窗口函数
  • C 中正弦函数的实现不起作用

    我尝试用 C 语言实现正弦函数 但得到了奇怪的结果 以下是我用来计算正弦的三个函数 define PI 3 14159265358979323846 define DEPTH 16 double sine long double long
  • 不支持混合类型

    请看一下下面的头文件 pragma once using namespace UsbLibrary ref class MissileLauncher public MissileLauncher void private Bytes us
  • 缩小名称和变量名称

    我知道缩小负责删除 空白字符 换行符 注释 有时还有块分隔符 不久前我读到它还负责缩短变量名称 但我一直认为这是混淆的一部分 我对吗 或者现在缩小库也包含这样的功能 好吧 由于缩小的目标是尽可能减少代码的大小 因此重命名变量是实现这一目标的
  • Angular CDK的OverlayModule,cdk-overlay-pane不会将位置设置为绝对?

    我正在使用 Angular 的 CDK 的 Overlay 模块 我只是找不到将position absolute添加到覆盖层的方法 该模块将收到一个top and a left与连接元素位置匹配的位置 但覆盖层不会接收到position
  • Pandas _metadata的DataFrame持久化错误

    我终于弄清楚如何使用 DataFrame 中的 metadata 一切正常 除了我无法将其持久化 例如 hdf5 或 json 我知道它有效 因为我复制框架 而 metadata 属性复制到 非 metadata 属性则不然 example
  • CakePHP-cakeDC搜索插件实现

    我目前正在尝试找出一种在我的应用程序中实现 cakeDC 搜索插件的方法 但我发现很难理解在我可以让它在我的应用程序中 很好地 工作之前需要完成的管道工作 需要考虑的事项 搜索必须是 实时搜索 检索到的记录需要分页 搜索将使用选定的条件 i
  • Fn 类型未实现 Size

    我想构建一个将列表分成两部分的函数 一个列表包含原始列表中满足特定谓词的元素 另一个列表包含所有不满足特定谓词的元素 以下是我的尝试 fn split filter
  • 除了 Hibernate Validator 的 @SafeHtml 之外,还有哪些替代方案来验证字符串?

    正如 JavaDocs 中所述 它将在未来版本中删除 是否有任何替代库可以通过注释类似地工作 让我们首先解释一下弃用的原因 由于这一限制 我们最近遇到了安全问题 CVE 这是由于我们实施中的一个错误 但它让我们意识到这是非常脆弱的 并且在安
  • Pandas:将列中的值与唯一值相加

    我有数据框 ID time coeff category 111 12 1 5 shop 111 15 1 5 shop 222 12 0 8 shop 222 18 0 8 shop 我需要得到 category unique users
  • Web 应用程序 - 显示月份中日期的滑块功能

    对于学校项目 我们必须构建一个网络应用程序 我将创建一些东西 让人们可以跟踪他们的课程 家庭作业和空闲时间 计划表 日历 我在这里听起来真的很蹩脚 但是嘿 我累了 英语不是我的母语 我将在 CodeIgniter 中处理 PHP 逻辑 并结
  • ssh2节点js sftp协议错误握手失败

    你好 我有一个小问题 我开发了一个带有节点js的脚本sftp客户端 它连接到sftp服务器并抓取一些文件 我用本地服务器测试了它的工作 但是当我尝试将它与生产服务器一起使用时 我收到了这个错误 错误 握手失败 没有匹配的密钥交换算法 我已经
  • 无法联系到会员

    这是我用于显示角色成员的代码 但是 当我为有很多成员的角色调用此命令时 它只返回我的名字 我该如何修复它 V12 let role if message mentions roles first message guild roles ca
  • 使用升压条件变量

    我正在设计一个异步记录器类 如下所示 但是 不确定我是否以正确的方式使用升压条件变量 有人可以对此发表评论吗 这里的processLogEntry方法是一个线程函数 我在这里使用boost void LogWriter stopThread
  • 当我更新我的 sqlite 核心数据存储时,如何避免出现“SQL 执行期间错误:约束失败”?

    我们的应用程序允许用户从 API 提供的列表中选择位置 该列表很少更新 并且仅通过添加项目来更新 因此应用程序不会每次都访问 API 而是在 Core Data sqlite 存储中提供快照 我们希望它定期更新列表 执行此操作的代码如下所示
  • gcc 不匹配标签选项给出“无法识别的命令行选项”

    我试图激活该选项 Wmismatched tags在 gcc 上 检测不一致的类 结构声明 这可能在使用前向声明时发生 但在 Ubuntu 上我得到 c error unrecognized command line option Wmis