關於vc++6.0編譯高版本dx庫出錯問題
2011-06-07 12:09
於是用vc++6開啟了工程,又在vc++6裡引入了dx的.h和.lib。
編譯報錯:
--------------------configuration: parseframe - win32 debug--------------------
linking...
winmain.obj : error lnk2001: unresolved external symbol _tid_d3drmframe
direct3d.obj : error lnk2001: unresolved external symbol _tid_d3drmframe
xparser.obj : error lnk2001: unresolved external symbol _iid_idirectxfiledata
direct3d.obj : error lnk2001: unresolved external symbol _iid_idirectxfiledata
xparser.obj : error lnk2001: unresolved external symbol _iid_idirectxfiledatareference
direct3d.obj : error lnk2001: unresolved external symbol _iid_idirectxfiledatareference
direct3d.obj : error lnk2001: unresolved external symbol _tid_d3drmmesh
direct3d.obj : error lnk2001: unresolved external symbol _tid_d3drmframetransformmatrix
debug/parseframe.exe : fatal error lnk1120: 5 unresolved externals
error executing link.exe.
parseframe.exe - 9 error(s), 0 warning(s)
奇怪,這錯誤分明在說找不到我引入的.lib庫嘛~
上網查了一下,某位大俠說「dx引入的檔案需要放在列表的第一位。」於是照辦~
之後編譯得到如下錯誤:
--------------------configuration: parseframe - win32 debug--------------------
linking...
dxguid.lib(dxguid.obj) : fatal error lnk1103: debugging information corrupt; recompile module
error executing link.exe.
parseframe.exe - 1 error(s), 0 warning(s)
咦?鬱悶了~
在查,另一位大俠給出了正解:
dx sdk後續版本是基於高版本的vc++環境開發的,在安全機制上做了要求,於是低版本的vc++環境在引入高版本的dx庫時會出問題。
正確的做法:直接用vs2005或者vs2008就ok了。
VC6 0設定UNICODE編譯環境
vc 6.0支援unicode程式設計,但預設的是ansi,所以開發人員只需要稍微改變一下編寫 的習慣便可以輕鬆編寫支援unicode的應用程式。1.安裝完成後 需要把vc98 mfc lib下的mfc42u 手動拷貝到對應的安裝目錄下 2.為工程新增unicode和 unicode預處理選項 開啟...
vc 6 0設定UNICODE編譯環境
1 為工程新增unicode和 unicode預處理選項 開啟 工程 設定 對話方塊,在c c 標籤對話方塊的 預處理程式定義 中去除 mbcs,加上 unicode,unicode。注意中間用逗號隔開 在沒有定義unicode和 unicode前,所有函式和型別都預設使用ansi的版本 在定義了u...
關於VC6 0 和其他VS編譯器
最近想寫一些 mfc應用程式,在發布的時候遇到了幾個問題,從中得到了一點體會,與大家分享一下。遇到的幾方面問題的起因 1.自己用vs 剛換win7 編譯好的程式在其他人那裡無法執行,提示缺少 mfc庫 2.上面的問題好解決,用靜態 mfc方式重新發布,卻發現原本 200多 k的程式變成了 1m多。3...