1. 程式人生 > >duilib編譯錯誤解決方法整理 (含VS2013)

duilib編譯錯誤解決方法整理 (含VS2013)

此文轉載,原文:http://blog.csdn.net/x356982611/article/details/30217473

@1:找不到Riched20.lib

用everything等軟體搜尋下磁碟,找到所在的目錄新增到vs的庫目錄即可,我得是C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib;其他的vs版本可能不一樣,自行搜尋

@2: “IDispatchEx”: 重定義;不同的基型別 點選開啟連結

UIFlash.h行:

  1. #import "..\Utils/Flash11.tlb" raw_interfaces_only, named_guids 
改為:
  1. #import "..\Utils/Flash11.tlb" raw_interfaces_only, named_guids, rename("IDispatchEx","IMyDispatchEx")
為了相容性更好,防止系統flash的外掛更新後又有問題,乾脆直接匯入你自己系統的OCX,於是將這一行最好改為:
  1. #import "PROGID:ShockwaveFlash.ShockwaveFlash"  \  
  2.     raw_interfaces_only,       /* Don't add raw_ to method names */ \    
  3.     named_guids,           /* Named guids and declspecs */
        \    
  4.     rename("IDispatchEx","IMyDispatchEx"/* fix conflicting with IDispatchEx ant dispex.h */

vs2013則需要:

  1. #import "PROGID:ShockwaveFlash.ShockwaveFlash"  \  
  2.     raw_interfaces_only,       /* Don't add raw_ to method names */ \    
  3.     named_guids,           /* Named guids and declspecs */    \    
  4.     rename("IDispatchEx""IMyDispatchEx"/* fix conflicting with IDispatchEx ant dispex.h */  \    
  5.     rename("ICanHandleException""IMyICanHandleException")  

@3:'ICanHandleException' : redefinition; different basic types 

在UIWebBrowser.h中:

新增 #include <MsHTML.h>
修改#include "Utils/WebBrowserEventHandler.h"為#include "../Utils/WebBrowserEventHandler.h"