Windows下Visual studio 2013 编译 Audacity

编译的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的调试了。

转载于:https://www.cnblogs.com/wangguchangqing/p/6179893.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转]解决Android studio升级到3.5的一些问题

最近Android studio升级到最新的3.5以后,出现了很多问题,记录一下: 1.NDK Resolution Outcome: Project settings: Gradle model version5.4.1, NDK version is UNKNOWN 这个是因为升级到3.5以后,原来的ndk被删除了,在…

【EPS精品教程】EPS2016三维测图版安装教程(附EPS2016安装包下载地址)

文章目录 一、安装过程二、软件安装包下载EPS地理信息工作站是北京清华山维新技术开发有限公司历经十五年精心研发和打造,为满足“以地理信息服务为中心”的信息化测绘生产需求而推出的测绘生产活动多种业务模块集成化软件系统。主要功能有: (1)测绘与地理信息多业务模块集…

据廖雪峰python3教程----python学习第十三天

在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。 编写一个名…

《增广贤文》

(《增广贤文》),并非吾原创。其中人生之道理,今之看来,虽有偏激之处,未尝不有警醒之用。吾辈取精去糟,察纳雅言即可。———————————————————————————————————…

禁锢自己的因素,原来有这么多

2022年的7月,朋友圈都能看到喜庆的时刻,庆祝香港回归25周年,这确实是一个具有伟大里程碑的意义。同时也是建党101周年,满满的荣誉感,隔着朋友圈都能感受到喜庆。家事国事天下事,事事关心,关心但…

C语言试题152之一个偶数总能表示为两个素数之和

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:一个偶数总能表示为两个素数…

[转]Xshell连接win10 Linux子系统

配置SSH服务: sudo apt-get remove --purge openssh-server ## 先删ssh sudo apt-get install openssh-server ## 在安装ssh sudo rm /etc/ssh/ssh_config ## 删配置文件,让ssh服务自己想办法链接 sudo service ssh --full…

有两个地方,用到了javabean对象和属性字符串值之间的转换

1.有两个地方,用到了javabean对象和属性字符串值之间的转换 2.一个是接入层spring mvc,将json字符串参数转换为javaBean。通过RequestBody javaBean方式 3.另一个是,mybatis中javeBean对象与数据库字段值之间的转换。 在sql语句的insert/upda…

【EPS精品教程】EPS2016三维测图软件常用快捷键(建议收藏)

EPS2016三维测图软件常用快捷键(建议收藏) 状 态键盘位置功能名称功能描述选择Shift拖点按下鼠标左键移动光标,将目标点拖到其他位置C闭合使打开的当前线闭合,闭合的当前线打开X回退一点从当前点回退一点Shift+X回退多点从当前点开始删除多点(到光标指向点)Ctrl+T删除删除当…

记一个并发规则验证实现

最近在做一个简单的风控,其中有一块需求是这样的,当主请求参数到达后,会根据这些参数,看调起几个并发规则,这些规则各自有自己的验证逻辑,每个规则执行时间长短都不确定,当规则 执行完后&#x…

EIGRP个人学习笔记

【理论部分】1、EIGRP的主要特征:①Cisco专有协议(高级dv路由);②支持VLSM; ③触发、增量更新;---------减少带宽的占用④支持多层网络协议ApplleTalk,IP 和 Novell Netware等协议;⑤收敛速度快;----------采用dual算法…

C语言试题153之判断一个素数能被几个 9 整除

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:判断一个素数能被几个 9 整除…

[转]Zookeeper入门看这篇就够了

Zookeeper是什么 官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用…

微服务-springcloud(eureka实践, nacos实践)

Spring 体系图 版本关系 eureka 实践 1 父工程依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.14</version> </parent> <dependencyManage…

Windows服务二:测试新建的服务、调试Windows服务

一、测试Windows服务 为了使Windows服务程序能够正常运行&#xff0c;我们需要像创建一般应用程序那样为它创建一个程序的入口点。像其他应用程序一样&#xff0c;Windows服务也是在Program.cs的Main()函数中完成这个操作。首先我们在Main&#xff08;&#xff09;函数中创建一…

角度前方交会点坐标计算完整步骤

测量工作中&#xff0c;我们常常会遇到待测点被障碍物遮挡住观测视线而无法进行观测的情况。这时候我们就需要特殊的交会计算方法对待定点进行特别的观测。 前方交会又称为测角交会&#xff0c;是指从相邻两个已知点向待定点观测两个水平角&#xff0c;用以计算待定点的坐标。 …

Mysql 的子查询

子查询&#xff1a; 子查询&#xff1a;嵌套在其它查询中的查询语句。&#xff08;又称为内部查询&#xff09; 主查询&#xff1a;包含其它子查询的查询称为主查询。&#xff08;又称外部查询&#xff09; 非相关子查询&#xff1a; 在主查询中&#xff0c;子查询只需要执行一…

【系统设计】指标监控和告警系统

在本文中&#xff0c;我们将探讨如何设计一个可扩展的指标监控和告警系统。一个好的监控和告警系统&#xff0c;对基础设施的可观察性&#xff0c;高可用性&#xff0c;可靠性方面发挥着关键作用。下图显示了市面上一些流行的指标监控和告警服务。接下来&#xff0c;我们会设计…

C语言试题154之两个字符串连接程序

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:两个字符串连接程序 2 、温馨…