qtCreator关闭某些编译警告warning的方法

本文介绍了如何在QtCreator中关闭特定编译警告,如-Wno-comment。通过在.pro文件中设置CONFIG+=warn_off,然后添加QMAKE_CXXFLAGS以调整-Wall的顺序,确保-Wno-comment生效,从而过滤掉不希望出现的警告信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址::qtCreator关闭某些编译警告warning的方法_mob604756f37073的技术博客_51CTO博客相关文章

1、QtCreator修改编译选项--消除__DATE____TIME__调用时的警告消息----QtCreator修改编译选项--消除__DATE____TIME__调用时的警告消息 - 百度文库

2、QTCreator代码警告提示的设定----QTCreator代码警告提示的设定 - 百度文库 

3、Qt5.QtCreator_屏蔽警告----Qt5.QtCreator_屏蔽警告 - 走看看 

4、在QtCreator中删除未使用的参数警告 ----在QtCreator中删除未使用的参数警告 |

5、Qt Creator禁用警告----Qt Creator禁用警告_flist的博客-CSDN博客_qt clang代码模型被禁用 

qt的pro文件中,添加编译选项:在.pro文件中,添加QMAKE_CXXFLAGS += ... 。

之前需要引入第三方库,但是第三方库有一些编译警告,不想污染了qt的编译信息,所以尝试加编译选项,无视某些编辑警告。

尝试直接添加 QMAKE_CXXFLAGS += -Wno-comment,无效。

观察qtCreator的编译输出后,发现添加的编译选项都是加在 -Wall后面的。所以,-Wno-comment无效的原因是:-Wno-comment 在-Wall前面,使-Wno-comment无效。

解决方法:

CONFIG += warn_off

QMAKE_CXXFLAGS += -Wall

QMAKE_CXXFLAGS += -Wno-comment

QMAKE_CXXFLAGS += ...

先禁用qtCreator自动添加的-Wall,再将-Wall添加到.pro文件中,调整-Wall的顺序。
-----------------------------------
qtCreator关闭某些编译警告warning的方法
https://blog.51cto.com/u_15127583/4214546

 

在使用 Qt Creator 编写 C++ 程序时,如果遇到 **C4819 警告或错误**,通常与文件的编码格式有关。该警告的具体内容为: > “The following file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss.” 这意味着当前源代码文件中包含了一些无法用当前系统默认编码(通常是 GBK 或 CP936)表示的字符,可能导致编译器解析失败或数据丢失。 ### 原因分析 - 文件中存在非 GBK 编码的字符,例如某些特殊符号、Unicode 字符或日文、韩文等。 - Windows 系统中文环境下默认使用的是代码页 936(即 GBK 编码),而 Qt Creator 可能会以默认编码打开文件。 - 若文件本身保存为 UTF-8 且带有 BOM 格式,有时也会引发此问题 [^1]。 ### 解决方案 #### 1. 修改文件保存格式为 UTF-8 without BOM 确保所有源文件都使用 UTF-8 编码且不带 BOM 头。可以使用以下方式: -Qt Creator 中: - 打开文件 → 点击右下角的编码提示(如“System”或“UTF-8”)→ 选择“Select Encoding...” - 选择 `UTF-8` 并确认 → 再次点击编码提示 → 选择“Save as UTF-8” #### 2. 配置 MSVC 编译器忽略 C4819 警告 如果项目中不可避免地需要使用到 Unicode 字符,可以在编译器选项中禁用该警告: ```cpp #pragma warning(disable : 4819) ``` 将上述语句添加在报错的源文件顶部,或者在 `.pro` 文件中添加编译标志: ```qmake QMAKE_CXXFLAGS += /wd4819 ``` #### 3. 设置 Qt Creator 默认编码为 UTF-8 为了从源头避免此类问题,建议配置 Qt Creator 的默认编码格式为 UTF-8: - 打开 Qt Creator → 工具(Tools)→ 选项(Options)→ 文本编辑器(Text Editor)→ 行为(Behavior) - 在“Default encoding”中选择 `UTF-8` #### 4. 检查第三方库或资源文件 有时引入的资源文件(如 `.qrc`)、翻译文件(`.ts`)或第三方库头文件也可能含有非法字符。可逐一排查这些文件,并将其转换为 UTF-8 编码格式。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值