一起學libcef--搭建自己的libcef運行環境(Win32程序,錯誤C2220解決方案)


轉自 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的環境。


免責聲明!

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



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