2012-03-14 20:56
MSTAR模拟器:VS2005或VS2008;MTK模拟器:VC6和VS2005;展訊模拟器:VC6。
我在MSTAR模拟器(VS2005)上生成的庫,放到展訊模拟器(VC6)上,會報連結錯誤,也就是:
VC6使用VS2005(VS2008)預設編譯生成出來的lib庫檔案,會報如下的連結錯誤:
error LNK2001: unresolved external symbol __RTC_Shutdown
error LNK2001: unresolved external symbol __RTC_InitBase
error LNK2001: unresolved external symbol __RTC_CheckEsp
error LNK2001: unresolved external symbol __RTC_UninitUse
error LNK2001: unresolved external symbol @_RTC_CheckStackVars@8
error LNK2001: unresolved external symbol @__security_check_cookie@4
error LNK2001: unresolved external symbol ___security_cookie
fatal error LNK1103: debugging information corrupt; recompile module
這些RTC錯誤,是VS2005及以上版本編譯器的Runtime Check運作時檢查
在編譯lib時,如果選擇了“運作時檢查”,那麼别的應用程式在連結這個庫檔案的時候,就會報這樣的錯
為了能讓lib庫檔案在VS2005和VC6上通用,需要用以下的方法,再重編一下庫:
VS2005的工程項目,右鍵>屬性>配置屬性> C/C++ > 代碼生成 > 基本運作時檢查,将值改為“預設值”