Qt下代码输入中文后调试报错[C4819]/public...引用...未找到.obj的解决方法

症状:

Qt编译器中只要输入中文,调试时就会报错:C4819:该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 xxx.h/xxx.cpp

工具:

notepad++

思路:

编码问题,需要按utf-8 + BOM 编码重新保存代码文件。

步骤:

1.去notepad++官网下载文本编辑器。

Notepad++ - Download https://notepad-plus.en.softonic.com/

启动安装程序,语言选择页面根据你的需要选择。需要中文的同学这一步直接 中文[简体] 就好,然后在 “选择组件” 页面点住localization,勾选Chinese(simplified)。

在"选择组件"页面选中Localization
找到Chinese(Simplified)并勾选

 

2.转换编码,重新保存

仔细观察报错信息,我们可以看到一条报错信息的左边给出了详细报错内容,右边给出报错文件名,下边给出报错文件路径。

可以看出main.cpp,addstu.h,mainwindow.cpp三个文件都需要重新保存。

以main.cpp为例,选中main.cpp的全部代码,粘贴到notepad++编辑器中,notepad++菜单栏中找到“编码(N)”,点击"使用UTF-8-BOM编码"。

notepad++菜单栏中找到“编码(N)”,点击"使用UTF-8-BOM编码"。

然后选择保存或另存为,弹出的路径中一定是选择报错文件的地址!文件名也和报错文件名相同,保存类型选择C++ source file,注意补上相应的文件名后缀(可能有些后缀默认是.h,如果我们改动的是.cpp,这时就要把.hgaicheng.cpp),没错,就是用新的编码文件替换旧的编码文件。

3.回到Qt

这时Qt会很机智地检测出“文件已改变”,并询问你,这时选择Yes或者Yes to All。

然后重新编译运行即可。

 

照此方法逐一修改报错文件,注意当你再次打开notepad++时很可能显示的时是上次的另一个文件,注意不要不小心用不同的文件覆盖了,可以叉掉它开一个新的文本页面进行操作。

 

另外,如果多次调试后出现了public...没有引用...未找到.obj文件这样的报错,我们可以到工程目录下找到形如build-xxx-Desktop_Qt_5_x_y_compiler_xxbit-Debug文件夹,把文件夹里的东西都删掉,然后重新编译运行,就不会有这样的错误啦~

是不是很简单?

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值