编译的Audacity版本为2.1.2,由于实在windows下编译,其源代码可以从Github上取得 git clone https://github.com/audacity/audacity

1. 编译WxWidgets

  1. Audacity使用wxWidgets作为GUI的框架,Audacity2.1.2需要wxWidgets 3.0.2,所以在编译Audacity之前需要编译wxWidgets。wxWidgets的下载地址为http://www.wxwidgets.org/downloads/,选择3.0.2的源代码下载。

  2. Audacity在使用wxWidgets时,对其做了一些更改,在编译wxWidgets前,需要用Audacity更改后的源代码替换wxWidgets的源代码。将Audacity源码下的audacity-master\win\wxWidgets_additions\wxWidgets-3.0.2覆盖wxWidgets源码下的相同项。

  3. 在目录\wxWidgets-3.0.2\build\msw下,该目录下提供了不同版本的visual studio的solution文件,命名就是Visual studio的版本号,这里使用VS2013打开wx_vc12.sln,使用VS2013进行编译。由于Audacity使用了wxWidgets的部分库,不需要编译整个解决方案。 只需要编译下面几个project:

  • adv
  • base
  • core
  • html
  • net
  • qa
  • xml

上面的project依赖于下面的project,一起选择编译

  • wxexpat
  • wxjpeg
  • wxpng
  • wxregex
  • wxtiff
  • wxzlib

选择特定的project进行编译的方法,按住Ctrl,然后鼠标左键选择project;project选择完成后,右键->生成选择的内容。

编译时,注意选择解决方案的配置项,DLL Debug对应于Audacity的Debug;DLL Release对应于Audacity的Release。

在Audacity中是通过环境变量引用wxWidgets库的,所以编译完成后,需要为wxWidgets配置环境变量。环境变量的名称为WXWIN,其值为@\wxWidgets-3.0.2其中@表示wxWidgets源码所在的路径。一定要确定设置的环境变量生效,再开始编译Audacity,不然会出现找不到头文件以及link的错误。

2. 编译Audacity

编译好wxWidgets,并设置好环境变量WXWIN后,就可以打开Audacity的solution进行编译了。在目录\audacity-master\win下,用VS2013打开audacity.sln,该solution文件就是VS2013版本的,不需要转换。看Audacity的官方文档,编译时还有各种可选项,由于只是想看下Audacity各种音频操作的源码,这里也就没有管那些可选项,打开解决方案后直接选择生成解决方案,进行编译。

编译过程中,如果出现了头文件找不到,link等错误,认真检查环境变量WXWIN是否设置正确,是否生效。

如果出现的错误是资源文件audacity.rc,那么莫慌,这表明已经编译通过了。只是这个资源有一个字符出现了错误,双击编译提示的错误,找到错误的代码将VALUE "ProductName", "Audacity?改为VALUE "ProductName", "Audacity"。 也就是将最后的 问号?,改为右单引号",不知道是源代码的错误还是文本的解析错误。

F5就可以进入Audacity的调试了。

Windows下Visual studio 2013 编译 Audacity的更多相关文章

  1. Windows下Visual Studio 2013编译Lua 5.2.3

    1.创建一个Visual C++的Empty Project,如果需要支持Windows XP将Platform Toolset设置为Visual Studio 2013 - Windows XP ( ...

  2. Visual Studio 2013编译Tesseract 3.04

    文章目录 去年时候使用了VS2008编译了Tesseract 3.02版本,主要是参考了一份官方文档,但是对于目前的最新版本并没有给出说明. 本文主要参考了Paul Vorbach的How to bu ...

  3. Windows下visual studio code搭建golang开发环境

    Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...

  4. Visual Studio 2013 编译 64 位 Python 的 C 扩展 (使用 PyObject 包装)

    对于 32 位 Python 的 C 扩展,以前用过 mingW32 编译, 但是 mingW32 不支持 64 位 Python 的 C 扩展编译,详情可见 stackoverflow,这位前辈的大 ...

  5. 关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法

    转自:http://blog.csdn.net/xiaochunzao/article/details/16987703 Visual Studio 2013 编译旧的 multi-byte char ...

  6. 代码从windows下visual studio到andriod平台迁移的修改记录

    前言 前言也是迁言,从windows的visual studio 2012平台迁移到android平台上,需用修改挺多的代码和需用注意地方. 我们当然的平台当初就考虑了其他平台跨平台的应用问题,所以一 ...

  7. Visual Studio 2013编译Mozilla NPAPI 示例注意事项

    1.Platform Toolset设置Visual Studio 2013 - Windows XP (v120_xp). 2.Character Set设置Use Multi-Byte Chara ...

  8. Visual Studio 2013 编译CEF步骤

    If you'd like to build the Chromium Embedded Framework (a wrapper for Chromium, for creating browser ...

  9. 解决visual studio 2013编译过程中存在的无法打开kernel.lib问题

    1. 出现此类问题的原因 由于原visual studio文件中的安装中出现问题,所以原有的SDK(soft development kits)文件出现缺失: 2. 解决方法1 重新下载SDK工具,安 ...

随机推荐

  1. Ubuntu 14.04中Elasticsearch集群配置

    Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...

  2. 23种设计模式--中介者模式-Mediator Pattern

    一.中介者模式的介绍     中介者模式第一下想到的就是中介,房子中介,婚姻中介啊等等,当然笔者也希望来个婚姻中介给我介绍一个哈哈哈,,回归正题中介者模式分成中介者类和用户类,根据接口编程的方式我们再 ...

  3. 如何在网页中提取Email地址

    开博好久了,今天第一次发表技术文档,之前总是将一些好的事例保存在电脑,时间久了找起来也很麻烦,所以还是放在博客里进行归类比较方便,这样也能将自己在学习过程中的一些心得体会分享给大家,也能给需要的人一点 ...

  4. 解读发布:.NET Core RC2 and .NET Core SDK Preview 1

    先看一下 .NET Core(包含 ASP.NET Core)的路线图: Beta6: 2015年7月27日 Beta7: 2015年9月2日 Beta8: 2015年10月15日 RC1: 2015 ...

  5. css元素水平居中和垂直居中的方式

    关于居中的问题,一直处于疑惑不解的状态,知道的几种方法好像也不是每一次都会起到作用,所以更加迷惑.主要是不清楚该 在什么情况下采用哪种解决方法,所以,整理了一些方法,梳理一下思路,做一个总结. 1. ...

  6. ASP.NET Core 中文文档 第五章 测试(5.2)集成测试

    原文: Integration Testing 作者: Steve Smith 翻译: 王健 校对: 孟帅洋(书缘) 集成测试确保应用程序的组件组装在一起时正常工作. ASP.NET Core支持使用 ...

  7. 将DataTable中的某列转换成数组或者List

    string[] arrRate = dtRate.AsEnumerable().Select(d => d.Field<string>("arry")).ToA ...

  8. HTML简单入门内容

    常用属性: Width=宽度 Height=高度 Size=大小 Color=颜色 Align=布局方向,值包括(top,bottom,left,right,center)上,下,左,右,中. Bor ...

  9. SharePoint2016安装的过程的”Microsoft.SharePoint.Upgrade.SPUpgradeException”错误解决方法

    前提 在windows server 2012的服务器上运行安装sharepoint2016出现如下错误: Could not load file or assembly ‘Microsoft.Dat ...

  10. JavaWeb的国际化

    国际化 1.国际化开发概述 1.1.软件的国际化 软件开发时,要使它能同时应对世界不同地区和国家的方法,并针对不同地区和国家的方法,提供相应的,符合来访者阅读习惯的页面或数据 国际化简称:i18n : ...