我正在尝试在 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 进行编译,所以我将尝试使用它。