轉自 http://blog.csdn.net/wangshubo1989/article/details/50180413
現在就來講講如何在自己的win32程序中搭建libcef運行環境。
首先就是建一個空的win32項目,例如名字為TestLibCef。
1. cefsimple目錄(注意是拷貝文件夾)拷貝到新工程下並包含在項目中(注意,是TestLibCef\TestLibCef文件夾下)
2. 並在TestLibCef\TestLibCef文件夾下,新建一個dll文件夾
源碼把Debug目錄下的文件全部拷貝到該文件夾下()
3. 把resource目錄下的文件全部拷貝到該文件夾下(TestLibCef\TestLibCef\dll)
4.把include文件夾拷貝到該文件夾下(注意是拷貝文件夾)(TestLibCef\TestLibCef\dll)
5.把out\Debug\lib\libcef_dll_wrapper.lib文件拷貝到該文件夾下(TestLibCef\TestLibCef\dll)
(如果你要發布你的應用程序了,那么你就應該拷貝相應的release目錄下的文件)
這個時候,你的dll文件夾是有這些文件:
6.在工程中添加一些頭文件和源文件,如下圖:
7.接下來就是修改工程的屬性了,在解決方案下TestLibCef上右鍵,屬性。
常規頁,設置如下:
8. C/C++下的常規的“附加包含目錄”添加如下:
9. C/C++下的預處理器進行修改,加入如下文件:
_DEBUG
V8_DEPRECATION_WARNINGS
BLINK_SCALE_FILTERS_AT_RECORD_TIME
_WIN32_WINNT=0x0602 WINVER=0x0602 WIN32 _WINDOWS NOMINMAX PSAPI_VERSION=1 _CRT_RAND_S CERT_CHAIN_PARA_HAS_EXTRA_FIELDS WIN32_LEAN_AND_MEAN _ATL_NO_OPENGL _HAS_EXCEPTIONS=0 _SECURE_ATL CHROMIUM_BUILD TOOLKIT_VIEWS=1 USE_AURA=1 USE_ASH=1 USE_DEFAULT_RENDER_THEME=1 USE_LIBJPEG_TURBO=1 USE_MOJO=1 ENABLE_ONE_CLICK_SIGNIN ENABLE_REMOTING=1 ENABLE_WEBRTC=1 ENABLE_PEPPER_CDMS ENABLE_CONFIGURATION_POLICY ENABLE_INPUT_SPEECH ENABLE_NOTIFICATIONS ENABLE_HIDPI=1 ENABLE_EGLIMAGE=1 __STD_C _CRT_SECURE_NO_DEPRECATE _SCL_SECURE_NO_DEPRECATE NTDDI_VERSION=0x06020000 _USING_V110_SDK71_ ENABLE_TASK_MANAGER=1 ENABLE_EXTENSIONS=1 ENABLE_PLUGIN_INSTALLATION=1 ENABLE_PLUGINS=1 ENABLE_SESSION_SERVICE=1 ENABLE_THEMES=1 ENABLE_AUTOFILL_DIALOG=1 ENABLE_BACKGROUND=1 ENABLE_AUTOMATION=1 ENABLE_GOOGLE_NOW=1 CLD_VERSION=2 ENABLE_FULL_PRINTING=1 ENABLE_PRINTING=1 ENABLE_SPELLCHECK=1 ENABLE_CAPTIVE_PORTAL_DETECTION=1 ENABLE_APP_LIST=1 ENABLE_SETTINGS_APP=1 ENABLE_MANAGED_USERS=1 ENABLE_MDNS=1 ENABLE_SERVICE_DISCOVERY=1 USING_CEF_SHARED __STDC_CONSTANT_MACROS __STDC_FORMAT_MACROS DYNAMIC_ANNOTATIONS_ENABLED=1 WTF_USE_DYNAMIC_ANNOTATIONS=1
10. C/C++下代碼生成中,運行庫改為“多線程調試MTD”
11. 鏈接器,常規,附加庫目錄為:
因為是VS2015,這個會與VS2013的配置有區別
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x86 %(AdditionalLibraryDirectories)
12. 鏈接器,輸入,內容如下:
wininet.lib dnsapi.lib version.lib msimg32.lib ws2_32.lib usp10.lib psapi.lib dbghelp.lib winmm.lib shlwapi.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib user32.lib uuid.lib odbc32.lib odbccp32.lib delayimp.lib credui.lib netapi32.lib comctl32.lib rpcrt4.lib opengl32.lib glu32.lib D:\test\TestLibCef\TestLibCef\dll\libcef_dll_wrapper.lib D:\test\TestLibCef\TestLibCef\dll\libcef.lib
13. 鏈接器,高級,如下圖:
14. 編譯生成項目,將dll文件夾中的所有內容拷貝到debug或release文件夾下。
最后完成。
==============================================================
不出意外,你的程序不會生成成功,會提示C2220錯誤,你可能Google或是百度,很多人告訴你把警告等級調低,這根本還是解決不了問題。而且良好的編程習慣都是把警告當做錯誤看待的。
其實可以這樣解決問題:
關閉VS2015;
打開VS2015軟件(不點擊任何解決方案);
選擇 文件 ->打開 ->項目, 找到之前建立的TestLibCef的sln文件。
成功!!
至於原因:
原來文件的代碼頁為英文,而我們使用的是中文系統。僅此而已。
================================================================
很少有人會用純win32的應用程序,都是采用一些庫。接下來將描述,如何在duilib中配置libcef的環境。