Qt中使用CEF(Windows下)


最近項目中要在Qt中使用CEF(Chromium Embedded Framework),在這里總結下其中的幾個要點。

下載合適的CEF版本

關於CEF的簡介我們這里就不做介紹了,下載CEF可以有2種選擇:

  1. 源碼:強烈不建議下載源代碼並編譯構建(學習代碼除外),下載源碼需要你翻牆、有良好的網速(要下載)和足夠的耐心(據說有4、5個G,真的要下半天)。
  2. 自動構建版本:推薦這個使用這個版本。該版本提供了大部分已經編譯完成的動態庫及資源,只需要開發者手動編譯一個wrapper靜態庫就可以了。這種版本分為當前發行分支(Current Release Branches)和遺留發行分支(Legacy Release Branches ),每個分支都有其編譯要求,最低支持WinXp。

使用CMake和VS編譯wrapper靜態庫

調用CMake來生成一個對應的VS工程,然后用VS打開並編譯,這是windows下最方便的方法(配置CMake來編譯的方法比較麻煩,不推薦)。以下是具體步驟:

  1. 安裝VS和CMake(32位)
  2. 下載並提取自動構建版本的CEF壓縮包。
  3. 打開VS的開發者命令提示行,cd到解壓后的根目錄中(包含README.txt的目錄)。
  4. 運行命令cmake -G "Visual Studio 14"(14對應VS2015,12對應VS2013),該命令會在根目錄下生成cef.sln文件。
  5. 雙擊cef.sln,用VS打開該項目。

確保自己的Qt和CEF版本一致

  1. 運行庫版本一致。使用CEF庫時要保證整個程序的運行庫鏈接版本是一致的,也就是說Qt靜態庫和CEF庫必須用同一個運行庫選項編譯。但這里至關重要的一點就是CEF(自動構建版本)庫的libcef.dll等動態庫都是用/MT選項預編譯好的(至少我試過的好幾個CEF自動構建版本都是開啟/MT編譯的),我們只能更改Qt庫的版本,可以考慮替換這些沖突的版本,重新編譯或下載對應版本都是不錯的選擇。
  2. Debug/Release模式一致。否則的話,會出現_ITERATOR_DEBUG_LEVEL等一系列錯誤。

WinXp支持

只有比較老的CEF分支版本支持WinXp系統,而自動構建版本只支持Win7及以上,因此除了從源碼編譯外,你是沒有辦法從官方獲取CEF的WinXp支持的。嗯,然后源碼編譯也不現實,只能向別人要了。

文檔支持

CEF的文檔不是與QT一個級別的,因此不要指望能很快上手,寫代碼前你最好把API以外的文檔全看一遍。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM