5

我正在尝试为相关项目编译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)

4

0 回答 0