Я пытаюсь скомпилировать 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)
-Wno-narrowing
- person Jean-François Fabre   schedule 22.10.2016-funsigned-char
, чтобы сделать символы беззнаковыми - person Andrey Turkin   schedule 22.10.2016const char string_ordinal[] = {(char)0xc2,(char)0xba,0}; // masculine ordinal character, UTF-8
- person Raven Cheuk   schedule 19.06.2021