源代码下载地址:
WIN32下面编译的指导,不适应于VS2010下面的编译,需要修改,不过总体的指导意义还是比较有用的。
第一步:解压到C:\libsamplerate-0.1.8目录
第二步:打开Win32\Makefile.msvc 文件
第三步:找到MSVCDir ,把它修改为VS2010 C编译器的目录上面去。
我的修改为:MSVCDir=C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
如果仅仅修改这个,会出现编译错误。还需要有以下修改:
CFLAGS=/nologo /MD /W1 /GX /O2 /Zm200 /I "$(MSVCDir)\..\Include" /I "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include" /I . /I "Win32" /I "src" /D "WIN32" /D "_USRDLL" /YX /FD /Zm1000
PROG_LINK_FLAGS=/nologo /incremental:no /libpath:"$(MSVCDir)\..\lib" /libpath:"C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib" /pdb:"libsamplerate-0.pdb" /machine:I386 /exetype:dynamic
DLL_LINK_FLAGS=/nologo /dll /incremental:no /libpath:"$(MSVCDir)\..\lib" /libpath:"C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib" /pdb:"libsamplerate-0.pdb" /implib:".\libsamplerate-0.lib" /machine:I386 /out:"libsamplerate-0.dll"
总共修改上面5个地方之后,应该就可以正常编译出库文件了
第四步:把libsndfile-1.dll, libsndfile-1.lib 和 libsndfile-1.def 拷贝到
C:\libsamplerate-0.1.8目录
第五步:拷贝libsndfile安装目录下面的:include/sndfile.h
第六步:通过cmd命令进入
C:\libsamplerate-0.1.8目录
第七步;把nmake加入到PAHT环境变量
第八步:make
第九步:make check 检查编译是否正确。它会编译一部分测试文件,然后运行测试,如果测试不通过,可以检查一下原因。有一部分测试在WIN32上面会跳过。
一开始,编译出现了错误。主要是由于测试文件当中的宏定义在VS2010里面不能使用。将misc_test.c和utils.c当中的__func__ 修改为__FUNCTION__就可以了。
ternination_test.c当中:
把
float in [ilen] ;
float out [olen] ;
修改为:
float in [199030] ;
float out [1000] ;
最终,得到了libsamplerate-0.dll,libsamplerate-0.lib,结合src目录下面的samplerate.h,我们就可以使用了。
阅读(3749) | 评论(0) | 转发(0) |