本文記錄了我透過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,成功...