最近比较热衷折腾大型开源软件编译,因为在逐渐用开源软件替换盗版软件,除去盗版用着不安全的原因外,主要还是因为开源软件有源码,可以学习研究,另外就是体积小。

像Matlab每次装完都用不上什么功能,体积7-8个G,安装又慢,实在受不了,再用绝对只装Octave。

Photoshop我也基本只是当画画软件用,打算换成Krita,去年尝试编译了一下失败了,看了下官方说明才发现那么复杂,得等哪天有空好好折腾一次才行,毕竟最强开源绘画软件。

回到正文

参考的官方维基VS2015的编译,因为2015和2017通用性较好,所以几乎没遇到什么困难就通过了。

首先到官方下载wxWidgets-3.1.0源码,写本文时好像更新到3.1.1了,不过估计应该没太大区别

http://www.wxwidgets.org/downloads/

wxWidgets-3.1.0.7z解压后

VS2017打开

wxWidgets-3.1.0\build\msw\wx_vc14.sln

SDK版本选择更新,我是Win7就选的是8.1,如果是Win10可能就用10.x吧

Platform Toolset也更新到v141,然后选OK

切换到DLL Debug模式

在Solution上选

Build Solution

而非只编译单个项目

显示

Build: 24 succeeded, 0 failed, 0 up-to-date, 0 skipped

24成功,0失败

然后到来这个VS2015配置成功的版本,没使用官方版本是因为,写本文时官方版本似乎只能通过VS2013的配置,

而2015有些函数有改变,这在之前DX11工程2013升级到2015时也遇到过。

总之修改起来麻烦又费时,所以直接采用了这个VS2015的版本。

也许未来官方会直接加入VS2015及更高版本的支持,但是现在选择这个版本是最省力的办法,

下源码的目的是学习算法与逻辑处理实现,而不是浪费时间在无意义的配置上。

https://github.com/ShanghaiTimes/Audacity2015

我们需要VS2015这个分支,所以

git clone -b vs2015 https://github.com/ShanghaiTimes/Audacity2015.git

  

参考官方Windows下编译

https://github.com/audacity/audacity/blob/master/win/compile.txt

新建环境变量,换成你自己的安装位置

WXWIN = E:\CPPLibs\wxWidgets-3.1.0

下载ASIO SDK

https://www.steinberg.net/en/company/developers.html

新建环境变量,换成你自己的安装位置

ASIOSDK_DIR = E:\CPPLibs\ASIOSDK2.3

重新启动Visual Studio

打开

Audacity2015\win\audacity.sln

升级到对应版本,同上

Audacity上选Build

显示

audacity.rc

33行有错误

用notepad++打开audacity.rc看一下

看起来是行尾?应该改成"引号

修改后保存,再Build,成功

复制以下文件到

Audacity2015\win\Debug

目录下

wxbase31ud_net_vc_custom.dll
wxbase31ud_vc_custom.dll
wxbase31ud_xml_vc_custom.dll
wxmsw31ud_adv_vc_custom.dll
wxmsw31ud_core_vc_custom.dll
wxmsw31ud_html_vc_custom.dll
wxmsw31ud_qa_vc_custom.dll

EQDefaultCurves.xml

以及Languages文件夹整个

其实就是你安装一个Audacity

照猫画狗把少的文件复制过去就行,当然要用你自己编译的wxWidgets版本的DLL

Ctrl + F5,成功运行

打开
src/AudacityApp.cpp
文件

AudacityApp::OnInit

函数上下断点,F5调试,成功断下来

打开
src/toolbars/ControlToolBar.cpp

ControlToolBar::SetPlay

函数上下断点,载入音频,点击播放,成功断下来

完美收工

Win7 VS2017编译Audacity2.1.3的更多相关文章

  1. Win7 VS2017编译PBR渲染引擎google filament

    按照官方说明 https://github.com/google/filament 前置工具包 Windows 10 SDKVisual Studio 2017Clang 6Python 3.7Git ...

  2. Win7 VS2017编译Blender2.79

    去年在VS2013环境编译过一次,重装系统后换了VS2017,正好刚编译完Godot3.0.2,顺手把Blender也编译了吧. 官方Windows下编译指南 https://wiki.blender ...

  3. Win7 VS2017编译bgfx图形API

    官方的编译指南在这个页面 https://bkaradzic.github.io/bgfx/build.html#quick-start 目前的版本编译比较简单,下载3个项目,放于同级目录下 http ...

  4. Win7 VS2017编译magnum及例子

    magnum是一个开源的图形中间件 Lightweight and modular C++11/C++14 graphics middleware for games and data visuali ...

  5. Win7 VS2017编译Godot3.0.2和2.1.4

    千呼万唤屎出来,Godot终于发布3.0版本的源码了,今天是2018年3月17日,自去年接触过后,一直没事就刷刷Gayhub,看看3.0什么时候更新,刷了一年也没结果. 今天上Youtube无意中搜了 ...

  6. windows 平台使用 VS2017 编译openssl源码

    windows 平台使用 VS2017 编译openssl源码 1)依赖安装 安装 perl 脚本解释器 下载 http://libevent.net/download 安装 nasm 汇编器 C:\ ...

  7. 32位win7+vs2008编译mysql 5.6.22源码并安装

    以下这部分安装说明是来自http://www.2cto.com/database/201407/316681.html的win7+vs2010源码编译mysql,文章最后会说明用vs2008编译遇见的 ...

  8. windows 平台使用 VS2017 编译 libevent 源码

    一 依赖库编译 先要将其依赖的库编译好,其中openssl需要编译到libevent中,编译成libevent_openssl.lib库,zlib在新版本中只有示例用到. 1)windows 平台使用 ...

  9. VS2017 编译 Visual Leak Detector + VLD 使用示例

    起因 一个Qt5+VS2017的工程,需要进行串口操作,在自动时发现一段时间软件崩溃了,没有保存log,在 debug 的时候发现每运行一次应用占据的内存就多一点,后来意识到是内存泄漏了.这个真是头疼 ...

随机推荐

  1. Ubuntu搜狗拼音输入法崩溃问题

    Ubuntu 14.04.5 LTS 环境下搜狗拼音经常崩溃,似乎也没有什么特别好的解决办法. 以下是重启命令 #!/bin/sh >/dev/>& >/dev/>&a ...

  2. Window上编译最新版libCef(Branch 2704)(转载)

    转自http://blog.csdn.net/mfcing/article/details/52066579 1.开发环境搭建   VS2010及以上版本,CMake 2.8.12.1及以上版本.我安 ...

  3. Kubernetes的三种外部访问方式:NodePort、LoadBalancer和Ingress

    NodePort,LoadBalancer和Ingress之间的区别.它们都是将集群外部流量导入到集群内的方式,只是实现方式不同. ClusterIP ClusterIP服务是Kubernetes的默 ...

  4. 如何查看和清除svn登录信息

    切换svn登录用 点击clear,出现用户信息,勾选后点击ok 即清除 .下次访问svn需要重新登录

  5. css3+html5特效-向上滑动

    css+html5特效-向上滑动 效果描述:切换的下拉和上拉状态 鼠标悬浮:下拉鼠标离开:上拉 /*外容器设置*/ .box1{position:relative;top:100px;left:100 ...

  6. ambiguous

    ambiguous - 必应词典 美[æm'bɪɡjuəs]英[æm'bɪɡjuəs] adj.模棱两可的:含混不清的:多义的:不明确的 网络含糊的:模糊的:暧昧的 搭配ambiguous answe ...

  7. js动态添加元素绑定事件问题

    //开始是直接普通写的绑定click事件 其中li a i 中的i是动态添加的 结果是触发不了..$("li a i").click(function () { $(this).m ...

  8. TZOJ 2289 Help Bob(状压DP)

    描述 Bob loves Pizza but is always out of money. One day he reads in the newspapers that his favorite ...

  9. TZOJ 2392 Bounding box(正n边形三点求最小矩形覆盖面积)

    描述 The Archeologists of the Current Millenium (ACM) now and then discover ancient artifacts located ...

  10. python note 14 其他函数及递归应用

    1.repr用法 print("你好") # 用户看着舒服 print(repr("你好")) # 真实的字符串表示形式(正式的)print("我叫% ...