• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我們的工程馬上就要發布,但是在一個干凈的,即沒有安裝vs2005的xp上運行(利用虛擬機測試)卻彈出下面得錯誤
            “由于應用程序配置不正確,應用程序未能啟動。重新安裝應用程序可能會糾正這個問題“
            在英文os上:
            This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
            考慮到程序的運行環境問題,可能是由于沒有安裝.netFrameWork.但是后來安裝上之后仍然如故。郁悶。。。
            在網上找出了這些方法:
            方法一:
            在類似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
            把這幾個文件拷貝到目標機器上,與運行程序同一文件夾或放到system32下,就可以正確運行了。
            其他release版、MFC程序什么的都是拷redist下相應文件夾下的文件就可以了,文件夾后都有標識!
            方法二:
            修改編譯選項,將/MD或/MDd 改為 /MT或/MTd,這樣就實現了對VC運行時庫的靜態鏈接,在運行時就不再需要VC的dll了。
            注:MSDN中對于在不同的配置下Link的LIB作了說明:
            C Runtime Library:
            開關 對應的庫 版本
            /MD MSVCRT.LIB 多線程DLL的Release版本
            /MDd MSVCRTD.LIB 多線程DLL的Debug版本
            /MT LIBCMT.LIB 多線程靜態鏈接的Release版本
            /MTd LIBCMTD.LIB 多線程靜態鏈接的Debug版本
            /clr MSVCMRT.LIB 托管代碼和非托管代碼混合
            /clr:pure MSVCURT.LIB 純托管代碼 
            C++ Standard Library:
            開關 對應的庫 版本
            /MD MSVCPRT.LIB 多線程DLL的Release版本
            /MDd MSVCPRTD.LIB 多線程DLL的Debug版本
            /MT LIBCPMT.LIB 多線程靜態鏈接的Release版本
            /MTd LIBCPMTD.LIB 多線程靜態鏈接的Debug版本 
            編譯器會自動根據編譯選項,選擇對應的LIB文件。一般情況下這不會出現問題。
            然而,在部分情況下,一旦你的程序的各個部分(LIB, OBJ…)并非由相同的編譯選項編譯出,而Link在一起的話,會出現各種各樣的看似很難解決的問題,這類問題主要以重復定義的錯誤形式存在,通常的解決方法也很簡單,就是選擇同樣的編譯選項進行編譯之后再Link
            方法三:
            工程-》屬性-》配置屬性-》常規-》MFC的使用,選擇“在靜態庫中使用mfc”
            這樣生成的exe文件應該就可以在其他機器上跑了。
            方法四:
            安裝vcredist_x86.exe

            這樣四步下來,大部分程序都應該可以運行了,但悲哀的是在我的測試機上還是報應用程序配置錯誤。無奈。。
            后打開vs2005的命令行,運行depends.exe,試圖找出程序啟動所依賴的dll,結果大失所望,虛擬機上這些dll都有。如此這般令人抓狂。
            最后把vs2005安裝目錄下的所有.manifest文件(可以搜索 *.manifest得到)都考到程序目錄下,程序奇跡般的可以運行。
            然后實驗,刪掉冗余的.manifest文件,只需要5個就夠了。它們是Microsoft.VC80.ATL.manifest
            Microsoft.VC80.CRT.manifest
            Microsoft.VC80.DebugCRT.manifest
            Microsoft.VC80.DebugMFC.manifest
            Microsoft.VC80.MFC.manifest

            Posted on 2009-11-10 13:58 micheal's tech 閱讀(876) 評論(0)  編輯 收藏 引用
            色婷婷综合久久久久中文字幕| 久久久久久久女国产乱让韩| 久久青青草原精品影院| 久久国产乱子伦精品免费强| 久久久久黑人强伦姧人妻| 热久久视久久精品18| 精品熟女少妇a∨免费久久| 欧美色综合久久久久久| 久久这里只有精品18| 久久国产成人午夜aⅴ影院| 久久精品人人做人人爽电影| 国产亚州精品女人久久久久久 | 色婷婷久久综合中文久久蜜桃av| 精品免费tv久久久久久久| 亚洲精品tv久久久久久久久久| 色妞色综合久久夜夜| 99久久国产主播综合精品| 麻豆一区二区99久久久久| 久久精品国产99久久丝袜| 久久超碰97人人做人人爱| 欧美亚洲国产精品久久久久| 精品久久久久久无码中文字幕| 色综合久久无码五十路人妻| 伊人久久大香线蕉精品不卡 | 久久久精品2019免费观看| 一本大道久久香蕉成人网| AA级片免费看视频久久| 精品久久久久久久| 国产精品99久久免费观看| 丁香色欲久久久久久综合网| 亚洲精品国产综合久久一线| 丰满少妇人妻久久久久久4| 青青草国产成人久久91网| 精品蜜臀久久久久99网站| 色综合久久久久久久久五月| 亚洲午夜久久久久妓女影院| 色综合久久久久无码专区| 久久棈精品久久久久久噜噜| 91精品国产综合久久精品| 99麻豆久久久国产精品免费| 99久久国产热无码精品免费|