Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1145275
  • 博文数量: 139
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 1712
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-13 23:10
个人简介

每天进步一点点。

文章分类

全部博文(139)

文章存档

2015年(3)

2014年(11)

2013年(25)

2011年(1)

2009年(3)

2008年(29)

2007年(45)

2006年(22)

分类: Windows平台

2014-07-05 11:40:07

源代码下载地址:


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,我们就可以使用了。
阅读(3643) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~