我正在尝试为相关项目编译eSpeak,但在运行 make 命令后出现此错误。
tr_languages.cpp:201:43: error: narrowing conversion of ‘194’ from
‘int’ to ‘char’ inside { } [-Wnarrowing]
const char string_ordinal[] = {0xc2,0xba,0}; // masculine ordinal
character, UTF-8
^
tr_languages.cpp:201:43: error: narrowing conversion of ‘186’ from
‘int’ to ‘char’ inside { } [-Wnarrowing]
Makefile:102: recipe for target 'tr_languages.o' failed
make: *** [tr_languages.o] Error 1
我搜索了一下,看来这里的声明
const char string_ordinal[] = {0xc2,0xba,0};
本来应该
const signed char string_ordinal[] = {0xc2,0xba,0};
既然源代码改动很大,有没有其他方法可以编译成功呢?
我正在使用 gcc 版本 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12)