首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译节日/爱丁堡语音工具Visual Studio 2013

编译节日/爱丁堡语音工具Visual Studio 2013
EN

Stack Overflow用户
提问于 2014-10-29 04:16:31
回答 2查看 613关注 0票数 0

Directions I found to compile

我曾尝试使用Visual studio 2013从Festvox latest编译节日(2010年以来没有更新)来编译语音工具

代码语言:javascript
复制
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

尝试编译节日

代码语言:javascript
复制
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我收到了很多错误,比如

代码语言:javascript
复制
speech-tools\include\EST_String.h(156) : error C2061: syntax error : identifier 'ssize_t'

我认为这应该在speech-tools\include\EST_system.h中处理

代码语言:javascript
复制
#   if defined(_MSC_VER)
#       include <BaseTsd.h>
        typedef SSIZE_T ssize_t;
#   endif

我能够通过用size_t替换它们来绕过ssize_t问题,这可能会在以后成为一个问题。

最终会出现与上面类似的错误。

代码语言:javascript
复制
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问题,但它们似乎来自不同的地方)

EN

回答 2

Stack Overflow用户

发布于 2015-03-07 00:49:00

你可以下载新版本的节日:http://www.cstr.ed.ac.uk/projects/festival/download.html

此外,要使用VS 2013构建它,请尝试在speech_tools的EST_defines_win32.h中更改此行

代码语言:javascript
复制
#define isnan(N) 0

代码语言:javascript
复制
#if (_MSC_VER < 1800 ) // older than VS 2013
#define isnan(N) 0 
#endif
票数 2
EN

Stack Overflow用户

发布于 2014-12-26 19:09:39

您没有按照说明中显示的步骤进行操作,这就是它对您无效的原因。

说明中明确声明使用cygwin获取GNU make的副本,或者使用VS2005。它确实说2006年(以及之后的那些)不起作用……

为什么不遵循cygwin路线来编译呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26617680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档