自寫webrtc程序中遇到的問題---------------------持續更新----------

    前段時間,脫離webrtc的demo,開始自寫webrtc程序,現將遇到的一些問題一一列出:

(1)在執行AsyncSocket::Connect函數後無法觸發定義的AsyncSocket對象綁定的處理函數OnConnect:

        問題:沒有在進程中處理windows消息路由,導致系統無法將消息隊列中的新的消息分發給進程中對應的線程,所以無法觸發OnConnect回調,因此需要在winmain()中做類似操作

       while ((gm = ::GetMessage(&msg, NULL, 0, 0)) != 0 && gm != -1)
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}

    這樣,AsyncSocket::Connect調用纔會觸發當前AsyncSocket對象綁定的回調函數。

-------------------------------------------------------------------------------------------------------------------    

    自從上次將ninja編譯的webrtc工程修改爲vs2015編譯的webrtc項目後,出現了很多的未知錯誤,現在就將剛剛遇到的一些問題做一些描述。

    修改爲vs2015編譯的項目後,發現項目vcxproj文件中的內容和vs2015項目屬性中顯示的屬性不相同,結果導致項目編譯的時候出了問題也一時無法找到問題,原因不清楚,既然vcxproj中的內容和vs2015項目屬性窗口中顯示的內容不相同,那麼就直接修改vcxproj文件吧!比如一個例子,當前的項目是console工程,在release模式下調試發現報錯LIBCMT.lib中的錯誤,並提示“WinMain”函數是不可解析的外部符號,這是明顯的lib文件未導入到工程中的問題,但是實際上並不是這樣,原因是本工程明明是console工程但是,在其vcxproj文件中的<SubSystem></SubSystem>標籤中確實Windows,雖然在vs2015的項目屬性窗口中明明顯示此項是“console”,但是vcxproj中的屬性卻是不一樣,解決方案:直接將windows改爲console即可!

發佈了47 篇原創文章 · 獲贊 17 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章