Я пытаюсь написать некоторый код C++
(используя C ++ API) для Festival
и застреваю при попытке компиляции.Вот как я вызываю g++
:
g++ -Wall -pedantic -I../ -I../speech_tools/include/ helloFestival.C -o h -L../festival/src/lib/libFestival.a -L../speech_tools/lib/libestools.a -L../speech_tools/lib/libestbase.a -L../speech_tools/lib/libeststrings.a |& tee festival.runLog
Ошибка, которую я получаю:
In file included from ../speech_tools/include/EST.h:48,
from ../festival/src/include/festival.h:47,
from helloFestival.C:4:
../speech_tools/include/EST_String.h:50: error: declaration of ‘void abort()’ throws different exceptions
/usr/include/stdlib.h:513: error: from previous declaration ‘void abort() throw ()’
Неправильная строка в EST_String.h будет выглядеть так:
extern "C" void abort(void);
Функцию main()
, которую я использовал, можно найти здесь: festvox.org/docs/manual-1.4.3/festival_28.html#SEC133
Приведенные здесь инструкции по компиляции и компоновкете, которые я использовал.
Я посмотрел эту проблему в сети, и некоторые решения предлагают, что это может быть из-за обратной совместимости, или вызова abort () из деструктора и т. д. Мои вопросы:
- Как мне от этого избавиться?
- Почему я вижу эту ошибку?