x-msg-im-sdk 編譯註意事項(主要是windows),可解決報: google/protobuf/message.h: No such file or directory等問題

編譯前準備

查看x-msg-im的“編譯在windows系統上運行的驅動”準備文檔
按照以上文檔操作後,仍出現問題,可按照以下注意事項進行問題排除,如果還是編譯不成功,可加羣721779037進行討論

注意事項:

1、嚴格遵守版本限制,特別是protobuf ,儘量和要求的一致,下面的百度網盤是基於mingw gcc版本編譯的protobuf-3.5.1下載地址,也可以自行編譯,去protobuf的github上找到對應版本源碼,然後遷下來進行編譯,

鏈接: https://pan.baidu.com/s/1AiWFmudjooSNhG2rv1dKQA 
提取碼: 4ac6 複製這段內容後打開百度網盤手機App,操作更方便哦

2、確保環境安裝完成方法:在git bash命令窗口或者msys2命令窗口(由於我的機子在msys2上進行編譯會很慢,因此我選擇了在git bash上進行編譯)分別輸入
gcc, make, cmake, java, mvn,protoc --version 以上命令都不會報 xxx:command not found則代表可以正確訪問對應環境,如果無法訪問則輸入 env命令查看環境變量是否配對,
在這裏插入圖片描述
在這裏插入圖片描述
3、在window上進行編譯,注意不要漏了以下環境變量設置

//以下都是直接在當前命令窗口設置的局部環境變量,只能在當前命令窗口可用
//設置當前編譯環境是在windows系統中
export PLAT=WINDOWS    

//設置protobuf環境變量 PROTOBUF 
//後面寫的是protobuf的解壓路徑 代表c盤下的util目錄下的protobuf
//如果編譯的時候出現 google/protobuf/message.h: No such file or directory基本就是protobuf環境變量沒有設置好

export PROTOBUF=/c/util/protobuf-3.5.1

//編譯配置
export CXX_FLAGS="-g3 -O3"
export MAKE_J="-j3"

4、在遷需要編譯的x-msg-im-sdk源碼時,注意,如果文件後面是帶有@符號的均是引用目錄,不能直接通過用根目錄的 git clone下載下來因爲這樣只是下載下來一個空目錄,需要進入目錄裏面再複製此目錄的clone地址進行下載或者使用git clone --recursive命令進行項目的clone如圖
在這裏插入圖片描述

在這裏插入圖片描述
5.打包出來的x-msg-im-sdk-ffi.dll會比較大,可以用strip libx-msg-im-client-ffi.dll命令進行處理減小體積

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章