MicroSIP-3.21.3+pjproject-2.13.1+ opus-1.3.1+VS2019

2023-10-28 18:01:55

  本文記錄了我通過VS2019編譯MicroSIP-3.21.3開源專案的過程。

Microsip:MicroSIP source code

pjproject:Download PJSIP - Open Source SIP, Media, and NAT Traversal library

opus:Downloads – Opus Codec (opus-codec.org)

下載並解壓後如圖:

 用vs 2019將microsip的平臺工具集改成VS2019,然後編譯。

報錯缺失pjsua-lib/pjsua.h

 pjsua-lib 是pjproject生成了,因此去編譯pjproject。

用vs2019開啟pjproject-2.13.1解決方案,並將所有專案的平臺工具集改成VS2019,然後編譯。

報錯缺失config_site.h

 找錯,如下圖,提示config_site.h這個標頭檔案的自己建立

 參考config_site_sample.h模板,建立一個最小集:

 

重新編譯

依然報錯找不到config_site.h

找到你建立的標頭檔案,將他移動到如下圖目錄

 重新編譯,成功

 此時關於pjproject需要提供的庫、標頭檔案,就算是編譯好了。

回頭繼續搞microsip,首先去microsip目錄下建立third-party目錄,用來存放需要引入的標頭檔案及類庫

開啟pjproject編譯後的目錄,將pjsua-lib相關的標頭檔案、lib複製到上面建立的目錄下

這是標頭檔案

 

 

 複製到這裡

 這是pjproject中的類庫

 放到這裡

 接下來設定microsip的lib參照和依賴

包含目錄,是標頭檔案所在的位置,庫目錄是lib檔案所在的位置,這裡設定我們建立的third-party、third-party/lib

 

編譯,之前缺少pjsua-lib/pjsua.h的錯誤解決了,但是又有如下錯誤

 繼續從pjproject中找到pjsip.h搬過來,如下圖,將所有的標頭檔案都弄過來。

 然後去編譯,提示缺

 好,繼續搬

 繼續編譯,又報這個

 好的,繼續找,繼續搬

 繼續編譯,報這個

 繼續搬

 繼續編譯,報這個

 繼續搬

 繼續編譯,報這個

 此時,用vs2019將opus專案開啟,進行編譯...

找到opus專案的解決方案

 開啟後編譯,成功後,將lib複製過來

 繼續編譯microsip,報這個

 進入link階段了,接下來就是缺失的庫的新增了,先把這個庫弄過來

 重新命名libpjproject-i386-Win32-vc14-Debug.lib->libpjproject-i386-Win32-vc14-Debug-Static.lib

繼續編譯,報這個

 

 pjmedia_get_vid_subsys(),這個找不到

 開啟pjproject 

 

 生成pjproject,將這些庫搬過來

連線其中加入這些

 

 替換一遍

 重新編譯microsip,成功...