编译的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. 札记:Fragment基础

    Fragment概述 在Fragment出现之前,Activity是app中界面的基本组成单位,值得一提的是,作为四大组件之一,它是需要"注册"的.组件的特性使得一个Activit ...

  2. ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑

    前言: 为了赶进度,周末也写文了! 前几篇讲完查询框和工具栏,这节讲表格数据相关的操作. 先看一下列表: 接下来我们有很多事情可以做. 1:格式化 - 键值的翻译 对于“启用”列,已经配置了格式化 # ...

  3. Python标准模块--Iterators和Generators

    1 模块简介 当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到.在本篇博文中,我们将会学习迭代器和生成器是什么.当然 ...

  4. 掌握javascript中的最基础数据结构-----数组

    这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript ...

  5. 关于Android避免按钮重复点击事件

    最近测试人员测试我们的APP的时候,喜欢快速点击某个按钮,出现一个页面出现多次,测试人员能不能禁止这样.我自己点击了几下,确实存在这个问题,也感觉用户体验不太好.于是乎后来我搜了下加一个方法放在我们U ...

  6. 年度巨献-WPF项目开发过程中WPF小知识点汇总(原创+摘抄)

    WPF中Style的使用 Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了 ...

  7. 【NLP】十分钟快览自然语言处理学习总结

    十分钟学习自然语言处理概述 作者:白宁超 2016年9月23日00:24:12 摘要:近来自然语言处理行业发展朝气蓬勃,市场应用广泛.笔者学习以来写了不少文章,文章深度层次不一,今天因为某种需要,将文 ...

  8. C#制作简易屏保

    前言:前段时间,有个网友问我C#制作屏保的问题,我瞬间懵逼了(C#还可以制作屏保!).于是我去查阅相关资料,下面把C#如何制作屏保的过程及我学习过程的心得也记录下来,希望对需要的人能有帮助. 基本思路 ...

  9. RMS Server打开或关闭日志记录

    原文: https://technet.microsoft.com/zh-cn/library/cc732758 在 Active Directory Rights Management Servic ...

  10. centos 6 安装配置openvpn

    下载地址:http://swupdate.openvpn.org/community/releases/http://www.oberhumer.com/opensource/lzo/download ...