說說微軟的bug吧,昨天裝Visual Studio 2008,注意:我出現(xiàn)這個(gè)bug的緣故是因?yàn)閷isual Studio 2008裝在了FAT32分區(qū)下,當(dāng)然裝在這里也不是說完全有問題,但是這樣裝的話,就不能將項(xiàng)目同樣放在FAT32分區(qū)下,裝好了以后,隨便編了個(gè)程序,編譯連接,一切OK,是在debug模式下的,但是運(yùn)行的時(shí)候,卻出現(xiàn)一些問題,截圖上來給大家看看

編譯和連接的時(shí)候都是正常的,惟獨(dú)在運(yùn)行的時(shí)候會(huì)出現(xiàn)這種錯(cuò)誤,當(dāng)時(shí)都無語了,具體有操作有,將MSVCR90D.dll拷到system32\下,結(jié)果要出現(xiàn)了另外一個(gè)問題,截圖上來給大家看看

當(dāng)時(shí)都無語了,總之,以后是不要將庫拷來拷去,這樣解決不了根本問題,具體解決辦法還有,將debug模式改為Release,然后在Release模式下可以正常的編譯連接和運(yùn)行.為什么會(huì)這樣呢,因?yàn)閞elease模式下,程序是不會(huì)去鏈接 *.dll 的庫的,所以能正常工作.不過我要說的是,這不是根本原因,根本原因在于微軟的bug,下面詳細(xì)道來: 這個(gè)是FAT32文件系統(tǒng)分區(qū)的緣故,一般有如下癥狀; 第一次Build 的時(shí)候從不出問題,在以后重新Build 的時(shí)候,可能隨機(jī)地出現(xiàn)問題。可能你Build間隔的時(shí)間足夠長(zhǎng),也不會(huì)出問題。 微軟也知道這個(gè)bug,但是看來沒有打算完全解決它的意向,倒是在項(xiàng)目屬性中有個(gè)選項(xiàng),讓你在FAT32 下也能正常工作。具體如何解決,是這樣做的:
如果是把項(xiàng)目放在FAT32分區(qū),那么這樣操作: 英文版:Project Properties -> Manifest Tool-> Use FAT32 Work-around -->Yes 中文版:項(xiàng)目-->項(xiàng)目屬性-->配置屬性-->清單工具-->使用FAT32解決方法-->是 然后clean下,然后Rebuild即可正常運(yùn)行,但是這樣就會(huì)很麻煩,每次建個(gè)項(xiàng)目,都要設(shè)置它的項(xiàng)目屬性
最好的解決辦法是,將你的項(xiàng)目放在NTFS分區(qū)下,這樣才可以正常的工作. 如果可以,提醒用戶,直接將Visual Studio 2008裝在你的NTFS分區(qū)下把,這樣就不會(huì)有限制了,你可以將你的項(xiàng)目創(chuàng)建在任何地方了,而也不會(huì)出現(xiàn)上面所說的錯(cuò)誤 在網(wǎng)上搜了下,解決這個(gè)問題的自己沒搜到,因?yàn)槲④浺矝]任何有用的提示,所以就把它發(fā)表下,讓其他的朋友也看看把,別像我一樣,弄了一天才弄好,才知道癥結(jié)所在,微軟的這個(gè)bug,真讓我郁悶,當(dāng)時(shí)真想把電腦給砸了,呵呵...
忘了補(bǔ)充一點(diǎn):如果你安裝的也是NTFS格式的文件系統(tǒng)分區(qū),項(xiàng)目也是建在這樣格式的分區(qū)里,你還要下載微軟的一個(gè)補(bǔ)丁,在這里找這樣一個(gè)補(bǔ)丁,給出下載地方,至此,問題就可以順利解決了 download.microsoft.com/download/0/d/5/0d5580c0-9d8c-4873-9024-553323ab8589/WindowsXP-KB889016-x86-CHS.exe
|