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.pswp.cn/news/285200.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285200.shtml
英文地址,請注明出處:http://en.pswp.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 、溫馨…