|
使用VC6編譯DLL遇到一個“神奇”問題:
在我的機器上編譯執(zhí)行都沒問題,在另一臺機器上編譯沒問題,執(zhí)行結(jié)果不正常。
對比了一下,發(fā)現(xiàn).dsp文件里的編譯器和鏈接器不一樣,
編譯成功的機器的.dsp文件:
CPP=xicl6.exe
LINK32=xilink6.exe
編譯失敗的機器的.dsp文件:
CPP=cl.exe
LINK32=link.exe
按道理使用intel的編譯器和微軟的不應(yīng)該會有這種區(qū)別,難道使用了語義兩可的擦邊球語句?
找了半天原因,發(fā)現(xiàn)是run-time配的不對,使用Single-Threaded,改成Debug Multithreaded DLL 后,正常
說明intel的編譯器在配置項明顯不對時,可能有自動調(diào)整的功能,而VC6自帶編譯器無此功能。
|
|