在windows xp上编译Audacity 1.2.6

来源:互联网 发布:淘宝装修市场模板官网 编辑:程序博客网 时间:2024/05/14 17:14

windows xp上编译Audacity 1.2.6

2011-04-21

Dukunpeng#gmail.com

因为网络上很多audacitywindows下的编译都不够详细,本着严谨的态度,完全编译了一回源程序,参考文档为《Compile Audacity 1.2.6 Source on Windows Vista 32-bit》。至于linux下如何编译该版本,请参考《OpenSUSE: Audacity编译安装》一文。

 

1、环境配置

系统环境:windows xp

编译环境:Microsoft Visual C++ 2008

Audacity源代码版本:Audacity 1.2.6,下载地址为http://audacity.googlecode.com/files/audacity-src-1.2.6.tar.gz

 

wxWidgets版本: wxWindows-2.4.2。下载地址为ftp://biolpc22.york.ac.uk/pub/2.4.2/wxMSW-2.4.2-setup.zip
 
注意:Audacity 1.2.6版本需要和wxWindows 2.4.2一起编译,否则在编译过程中会爆出各种不匹配的错误。
 
2、编译wxWindows

1、  解压wxMSW-2.4.2-setup.zip,并执行SETUP.exe复制源代码到G:/wxWindows-2.4.2

2、  解压缩audacity-src-1.2.6.tar.gzG:/audacity-src-1.2.6

3、  复制G:/audacity-src-1.2.6/win/wxWidgets_additions_VC7内容到G:/wxWindows-2.4.2/src

4、  Microsoft Visual C++ 2008中打开G:/wxWindows-2.4.2/src/ wxWindows.sln

5、  在生成菜单(build/配置管理器(Configuration Manager)中,将活动解决方案配置(Active solution)修改为DEBUG

6、  Microsoft Visual C++ 2008设置环境变量$WXWIN。在我的电脑属性/高级/环境变量面板中增加WXWIN,指向G:/wxWindows-2.4.2

7、  Microsoft Visual C++ 2008wxWindows中,选择工具(TOOLS)/选项(OPTIONS/项目和解决方案/VC++目录面板中,在“包含文件”中增加条目:

         $(WXWIN)/include

在“库文件“中增加条目

         $(WXWIN)/lib

然后重启Microsoft Visual C++ 2008

8、  在解决方案资源管理器中,选择wxWindows子目录,右键选择属性,在属性页中,选择配置属性/c/c++/代码生成面板中,确保运行时库为“多线程调试(/MTd)“。同样在”c/c++/常规面板中,确保附加包含目录中有” ../lib/mswd “。在“管理员“/常规面板中,输出文件应该是"../lib/wxmswd.lib"

9、  生成菜单,生成解决方案。忽略警告等信息。

生成成功后,在G:/wxWindows-2.4.2/lib中产生wxmswd.lib,在G:/wxWindows-2.4.2/lib/mswd/wx产生setup.h

10、              退出Microsoft Visual C++ 2008

 

3、编译Audacity

1、  Microsoft Visual C++ 2008中打开G:/audacity-src-1.2.6/win/audacity.sln。会提示进行转换。由于没有安装LIBFLAC,LIBFLAC_CPP,LIBID3TAG,LIBMAD,LIBSAMPLERATE,OGG_STATIC,VORBIS_static,vorbisfile_static,报错说找不到。请忽略这些错误。

2、  在生成菜单(build/配置管理器(Configuration Manager)中,将活动解决方案配置(Active solution)修改为DEBUG

3、  在解决方案资源管理器中,选择Audacity子目录,右键选择属性,在属性页中,选择配置属性/c/c++/常规面板中,附加包含目录中以$(WXWIN)/lib/mswd为第一个条目(防止platform.h找不到wx/setup.h的错误)。在”c/c++/代码生成面板中,确保运行时库为“多线程调试(/MTd)“。在链接器/输入面板中,附加依耐性中包含wxmswd.lib

4、  生成菜单,生成解决方案。

5、  编译错误处理:

如果报出找不到FLAC/all.h的错误,报错信息‘audacity-src-1.2.6/lib-src/libsndfile/src/flac.c(44) : fatal error C1083: 无法打开包括文件:“FLAC/all.h”: No such file or directory‘,在libsndfile子项目属性中删除HAVE_FLAC_ALL_H (在libsndfile子项目的配置/”C/C++“/预处理器/预处理器定义)

如果报出找不到libFLACd.lib,报错信息’ LINK : fatal error LNK1181: 无法打开输入文件“libFLACd.lib”’,将该文件从Audacity 项目依赖关系中删除(在Audacity子项目的配置/链接器/输入面板中,附加依赖项中删除“libFLACd.lib”
 

如果遇到不明确的pow()调用错误,报警信息’audacity-src-1.2.6/lib-src/soundtouch/source/soundtouch/firfilter.cpp(180) : error C2668: “pow”: 对重载函数的调用不明确’ 将源代码中的"resultDivFactor"修改为 "(double)resultDivFactor"

6、  编译成功后,在G:/audacity-src-1.2.6/win/Debug中生成audacity.exe

原创粉丝点击