關於VC 6 0編譯高版本DX庫出錯問題

2021-06-21 08:20:25 字數 1593 閱讀 2709

關於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...