【发布时间】:2016-06-21 12:01:10
【问题描述】:
我正在使用 Eclipse Mars.1 Release (4.5.1)、Win7 SP1 和 gcc 5.2.1(对于 Cortex 架构,来自 https://launchpad.net/gcc-arm-embedded)。当我尝试编译以 UTF-8(带有 BOM)编码的 C 代码时,gcc 输出出现在 ANSI 中,当然是错误的。我的工作区和项目的默认编码设置为 UTF-8。
添加 gcc 开关 -finput-charset=UTF-8 不会改变任何东西。
示例代码(C 语言):
#error some code here /* diacritics in comment żółćąę */
我在 Eclipse 的构建控制台中得到以下结果:
arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -Wall -Wstrict-prototypes -Wextra -Wchar-subscripts -Werror=implicit -finput-charset=UTF-8 -g -ggdb3 -fverbose-asm -Wa,-ahlms=./out/logbook_entry_ext2.lst -pipe -MD -MP -MF ./out/logbook_entry_ext2.d -Os -ffunction-sections -fdata-sections -I . -Itests/aceunit/ -Itests/ -Itests/inc/ logbook_entry_ext2.c -o out/logbook_entry_ext2.o
logbook_entry_ext2.c:32:2: error: #error some code here
#error some code here /* diacritics in comment żółćąę */
以 ANSI 编码的文件(在我的语言环境中为 cp1250 - 中欧语言)正确显示。
这同样适用于 Eclipse 的解析器(例如“问题”窗口 - 编码以类似的方式被破坏)。
我相信有人已经克服了这个问题,因为在 21 世纪使用 ANSI 编码很愚蠢,但是可以通过 Google 搜索到的大多数讨论都是关于编码字符串和标识符的,而这里的情况并非如此。
编辑:我的确切问题是如何在 Eclipse 中解决这个问题,例如通过更改 Eclipse 的构建控制台的编码。不幸的是,到目前为止我还没有找到这样的设置(仅适用于调试控制台)。
【问题讨论】: