• <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>

            The ATL, MFC, Standard C++, and CRT libraries support the deployment model available on Windows XP, Windows Server 2003, and Windows Vista. The DLLs corresponding to all Visual C++ libraries have been grouped into several shared side-by-side assemblies and are installed into the native assembly cache, also called the WinSxS folder, under the operating system root directory. Similarly, while building a C++ application by using Visual C++, by default the compiler and the linker generate a manifest file that describes runtime dependencies of this application on Visual C++ libraries.

            Visual C++ libraries cannot be used by a C/C++ application without a manifest binding the application to these libraries. If a C/C++ application that depends on a Visual C++ library does not use a manifest, then an attempt to load the Visual C++ library as a dependent DLL from the application-local folder will result in an error message indicating that this is an unsupported way of loading a Visual C++ library.

            NoteNote

            On versions of Windows that do not support deployment of shared side-by-side assemblies, such as Windows 98 and Windows 2000 Server, the Visual C++ libraries are installed in the System32 folder and WinSxS folder under the operating system root directory. This setup enables running Visual C++ applications on these operating system versions because they do not support manifest-based binding of applications to dependent DLLs. On these operating systems, when an application is loaded, the corresponding manifest file is ignored and the operating systems searches for dependent DLLs using paths set in the current running environment. However, on upgrading the operating system to a version that support manifest-based binding, such as Windows XP, Windows Server 2003, or Windows Vista, applications built with manifests start using the DLLs installed in the WinSxS folder.

            This change to the deployment model of Visual C++ libraries prevents the problem of version conflicts between DLLs that occur when you add updates or configurations to a machine, and will allow support of side-by-side installation of two different Visual C++ toolsets. It will also allow you to produce reliable, self-describing applications and components that will not conflict with existing components. For more information on the advantages of new deployment model, please see Concepts of Isolated Applications and Side-by-side Assemblies. To learn about how this may impact deployment of existing native C++ applications, please refer to Redistributing Visual C++ Files.

            Visual C++ libraries have been packaged in several shared side-by-side assemblies with corresponding manifest files.

            Assembly Name

            DLLs included in the assembly

            Visual C++ Library

            Microsoft.VC90.ATL

            atl100.dll

            Active Template Library

            Microsoft.VC90.CRT

            msvcr100.dll

            msvcp100.dll

            msvcm100.dll

            C Runtime Library, release DLLs

            Microsoft.VC90.DebugCRT

            msvcr100d.dll

            msvcp100d.dll

            msvcm100d.dll

            C Runtime Library, debug DLLs

            Microsoft.VC90.MFC

            mfc100.dll

            mfcm100.dll

            mfc100u.dll

            mfcm100u.dll

            Microsoft Foundation Classes, release DLLs

            Microsoft.VC90.DebugMFC

            mfc100d.dll

            mfcm100d.dll

            mfc100ud.dll

            mfcm100ud.dll

            Microsoft Foundation Classes, debug DLLs

            Microsoft.VC90.MFCLOC

            mfc100chs.dll

            mfc100deu.dll

            mfc100esn.dll

            mfc100ita.dll

            mfc100kor.dll

            mfc100cht.dll

            mfc100enu.dll

            mfc100fra.dll

            mfc100jpn.dll

            mfc100rus.dll

            Microsoft Foundation Classes, localized resources

            Microsoft.VC90.OpenMP

            vcomp100.dll

            OpenMP Library, release DLLs

            Microsoft.VC90.DebugOpenMP

            vcomp100d.dll

            OpenMP Library, debug DLLs

            When you build applications with Visual C++ 2008, you may need to redistribute Visual C++ libraries and deploy the corresponding DLLs to customers' desktops. For more information please see Deployment (C++).

            Feedback

            # re: VS編譯動(dòng)態(tài)庫(kù)無(wú)法直接運(yùn)行,所需的其他文件說(shuō)明(Visual C++ Libraries as Shared Side-by-Side Assemblies)  回復(fù)  更多評(píng)論   

            2010-11-24 09:32 by 楊書(shū)童
            在VS2005下用C++寫(xiě)的程序,在一臺(tái)未安裝VS2005的系統(tǒng)上,
            用命令行方式運(yùn)行,提示:
            “系統(tǒng)無(wú)法執(zhí)行指定的程序”
            直接雙擊運(yùn)行,提示:
            “由于應(yīng)用程序的配置不正確,應(yīng)用程序未能啟動(dòng),重新安裝應(yīng)用程序可能會(huì)糾正這個(gè)問(wèn)題”

            以前用VC6和VS2003的話, 如果缺少庫(kù)文件,是會(huì)提示缺少“**.dll”,但是用VS2005卻沒(méi)有這樣的提示。

            自己實(shí)驗(yàn)了一下,感覺(jué)以下幾種解決辦法是可行的:
            方法一:
            在類(lèi)似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)行了。

            其他release版、MFC程序什么的都是拷redist下相應(yīng)文件夾下的文件就可以了,文件夾后都有標(biāo)識(shí)!

            方法二:
            修改編譯選項(xiàng),將/MD或/MDd 改為 /MT或/MTd,這樣就實(shí)現(xiàn)了對(duì)VC運(yùn)行時(shí)庫(kù)的靜態(tài)鏈接,在運(yùn)行時(shí)就不再需要VC的dll了。

            方法三:

            工程-》屬性-》配置屬性-》常規(guī)-》MFC的使用,選擇“在靜態(tài)庫(kù)中使用mfc”
            這樣生成的exe文件應(yīng)該就可以在其他機(jī)器上跑了。

            方法四:

            你的vc8安裝盤(pán)上找到再分發(fā)包vcredist_xxx.exe和你的程序捆綁安裝
            久久精品国产99久久无毒不卡| 欧美一级久久久久久久大片| 久久久久久久久久久久中文字幕 | 久久九色综合九色99伊人| 国内精品久久久久久久亚洲| 久久久久亚洲精品天堂久久久久久 | 久久亚洲精品无码播放| 久久综合久久综合亚洲| 久久精品国产91久久综合麻豆自制| 欧美久久久久久精选9999| 色诱久久久久综合网ywww| 国内精品久久久久久中文字幕| 亚洲中文字幕伊人久久无码| 久久久av波多野一区二区| 一级A毛片免费观看久久精品| 国产精品九九九久久九九| 久久久SS麻豆欧美国产日韩| 久久国产乱子伦精品免费午夜| 激情伊人五月天久久综合| 色老头网站久久网| 久久久久亚洲AV综合波多野结衣| 国产情侣久久久久aⅴ免费| 久久婷婷五月综合色99啪ak| 久久99国产精品久久| 久久久婷婷五月亚洲97号色| 久久久久久久精品成人热色戒| 久久影院午夜理论片无码| 国产高潮国产高潮久久久91| 久久综合九色综合97_久久久| 97久久香蕉国产线看观看| 久久久久亚洲av无码专区导航 | 久久久中文字幕| 99久久er这里只有精品18| 中文字幕人妻色偷偷久久| 久久精品国产亚洲av麻豆图片| 久久无码国产专区精品| 久久婷婷色综合一区二区| 久久99热这里只频精品6| 精品综合久久久久久97| 欧洲成人午夜精品无码区久久 | 人妻精品久久无码区|