Directions I found to compile
我曾尝试使用Visual studio 2013从Festvox latest编译节日(2010年以来没有更新)来编译语音工具
nmake /nologo /FVCMakefile > output.txt
slib_doc.cc
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(423) : error C2988: unrecognizable template declaration/definition
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(423) : error C2059: syntax error : 'constant'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(429) : error C2143: syntax error : missing ';' before '{'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(429) : error C2447: '{' : missing function header (old-style formal list?)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\cmath(96) : error C2039: 'isnan' : is not a member of '`global namespace''
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\cmath(96) : error C2873: 'isnan' : symbol cannot be used in a using-declaration
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\cmath(96) : error C2039: 'isnormal' : is not a member of '`global namespace''
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\cmath(96) : error C2873: 'isnormal' : symbol cannot be used in a using-declaration尝试编译节日
nmake /nologo /FVCMakefile > output.txt
festival.cc
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(423) : error C2988: unrecognizable template declaration/definition
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(423) : error C2059: syntax error : 'constant'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(429) : error C2143: syntax error : missing ';' before '{'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(429) : error C2447: '{' : missing function header (old-style formal list?)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\cmath(96) : error C2039: 'isnan' : is not a member of '`global namespace''
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\cmath(96) : error C2873: 'isnan' : symbol cannot be used in a using-declaration
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\cmath(96) : error C2039: 'isnormal' : is not a member of '`global namespace''
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\cmath(96) : error C2873: 'isnormal' : symbol cannot be used in a using-declaration我还试图编译我在Github上找到的这个版本的语音工具。
Github repo with speech tools我收到了很多错误,比如
speech-tools\include\EST_String.h(156) : error C2061: syntax error : identifier 'ssize_t'我认为这应该在speech-tools\include\EST_system.h中处理
# if defined(_MSC_VER)
# include <BaseTsd.h>
typedef SSIZE_T ssize_t;
# endif我能够通过用size_t替换它们来绕过ssize_t问题,这可能会在以后成为一个问题。
最终会出现与上面类似的错误。
nmake /nologo /FVCMakefile > output.txt
slib_format.cc
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(423) : error C2988: unrecognizable template declaration/definition
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(423) : error C2059: syntax error : 'constant'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(429) : error C2143: syntax error : missing ';' before '{'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(429) : error C2447: '{' : missing function header (old-style formal list?)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\cmath(96) : error C2039: 'isnan' : is not a member of '`global namespace''
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\cmath(96) : error C2873: 'isnan' : symbol cannot be used in a using-declaration
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\cmath(96) : error C2039: 'isnormal' : is not a member of '`global namespace''
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\cmath(96) : error C2873: 'isnormal' : symbol cannot be used in a using-declaration(在写这一切的时候,我开始意识到,所有编译这篇文章的尝试似乎都会遇到类似的math.h和cmath.h问题,但它们似乎来自不同的地方)
发布于 2015-03-07 00:49:00
你可以下载新版本的节日:http://www.cstr.ed.ac.uk/projects/festival/download.html。
此外,要使用VS 2013构建它,请尝试在speech_tools的EST_defines_win32.h中更改此行
#define isnan(N) 0至
#if (_MSC_VER < 1800 ) // older than VS 2013
#define isnan(N) 0
#endif发布于 2014-12-26 19:09:39
您没有按照说明中显示的步骤进行操作,这就是它对您无效的原因。
说明中明确声明使用cygwin获取GNU make的副本,或者使用VS2005。它确实说2006年(以及之后的那些)不起作用……
为什么不遵循cygwin路线来编译呢?
https://stackoverflow.com/questions/26617680
复制相似问题