vs2005manifest的bug

 今天剛準備動真格的寫點東西,VS2005就不給我好臉色看!!創建VC++一個默認的win32項目,F5調試運行居然報錯!簡直是不可思議.我費了3個多小時,把所有類型的工程都建了一遍,嘗試了各種編譯選項.結果是好像只有創建WIN32的項目有問題,但有時亂搞搞項目設置又能好,完全不知道爲什麼.最開始報錯說缺少MSVCRT80D.DLL,這完全是不可能的,我的VS安裝一點問題都沒有呀,不可能不把調試的DLL裝上啊.看了看SYSTEM32目錄,確實沒有.沒辦法,自己去VC8的redist目錄copy了一份去system32,這回錯誤不一樣了,說是R6034錯誤,缺少manifest文件,也就是清單文件.貌似可以用來讓exe找到dll的目錄的一個文件.可這是vs自動生成的啊.而且也確實生成了這個文件.只不過安裝MSDN上的說法,VS2005應該是默認自動把manifest嵌入到exe中的.也就是說它肯定是嵌入的有問題.用VS打開exe文件一看,果然資源裏面的manifest文件內容不對.可這是VS自動生成的,我怎麼能控制呢!我暈了.趕緊上網,百度一搜,暈,完全沒人提.看來中國的軟件開發確實還有點那什麼...就不多說了.趕緊的去google,立馬就來一堆,當然也有很多是跟我的問題不相關的,不過很幸運,在stevestreeting.com上那個steve花了幾天時間把問題搞定了,原來因爲我的磁盤系統是fat32格式的,如果是ntfs的就沒有問題.FAT32的時間精度不夠,所以linker在生成文件的時候會出錯.更暈的是VS自己的項目設置裏面在清單工具下面有一個選項"使用FAT32解決辦法"是專門解決這個問題的.選了是之後,程序馬上就通了.由此可見,MS的東西確實是TMD讓人又愛又恨!!!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章