原因好像是因?yàn)?span>fat32的文件系統(tǒng)的時(shí)間戳有問(wèn)題,ntfs分區(qū)下就沒(méi)這個(gè)問(wèn)題。
解決方案是:在編輯狀態(tài)下,點(diǎn)項(xiàng)目菜單 -> XXX屬性頁(yè) -> 配置屬性 -> 清單工具,將右面的“使用FAT32解決辦法”選為“是”即可。簡(jiǎn)單地,其實(shí)把程序目錄下的Debug目錄整個(gè)刪掉,再讓VS全部重新生成文件也能解決這個(gè)問(wèn)題,只是可能再犯。
沒(méi)有找到MFC80D.DLL的解決方法。問(wèn)題出現(xiàn)在程序運(yùn)行清單上,默認(rèn)是"嵌入清單",清單文件是"$(IntDir\$(TargetFileName).embed.manifest"。調(diào)試程序運(yùn)行時(shí),不知道為什么卻定位不到這個(gè)文件,我們?nèi)绻謩?dòng)把"程序名.embed.manifest"改為"程序名.manifest",調(diào)試程序即可定位到。
方法一:
在C:\Program Files\Microsoft Visual Studio 8\VC\redi
st\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT 下找到了下列文件:
msvcm80d.dll
msvcp80d.dll
msvcr80d.dll
Microsoft.VC80.DebugCRT.manifest
把這幾個(gè)文件拷貝到目標(biāo)機(jī)器上,與運(yùn)行程序同一文件夾或放到system32下,就可以運(yùn)行那個(gè)程序了。
方法二:
修改編譯選項(xiàng),將/MD或/MDd 改為 /MT或/MTd,這樣就實(shí)現(xiàn)了對(duì)VC運(yùn)行時(shí)庫(kù)的靜態(tài)鏈接,在運(yùn)行時(shí)就不再需要VC的dll了。