我试图在Windows 8上使用Visual Studio 2013从源代码构建sox。
我可以构建其他依赖项,但是当我尝试编译libsndfile时,我收到以下错误:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\math.h(506): error C2059: syntax error : '(' [C:\Users\colinp\Documents\Visual Studio 2013\Projects\sox\sox-14.4.2\sox-14.4.2\msvc10\LibSndFile.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\math.h(584): error C2059: syntax error : '(' [C:\Users\colinp\Documents\Visual Studio 2013\Projects\sox\sox-14.4.2\sox-14.4.2\msvc10\LibSndFile.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\math.h(506): error C2059: syntax error : '(' [C:\Users\colinp\Documents\Visual Studio 2013\Projects\sox\sox-14.4.2\sox-14.4.2\msvc10\LibSndFile.vcxproj]
我做错了什么?
编辑:math.h
中的相关行:
_CRTIMP long __cdecl lrint(_In_ double _X);
编辑:这是#include <math.h>
的一个例子:
#include "sfconfig.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
sfconfig.h的内容:https://github.com/erikd/libsndfile/blob/master/src/sfconfig.h
查看libsndfile网站和README,它建议使用GCC进行编译,所以我将尝试使用它。