• <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>
            隨筆-145  評論-173  文章-70  trackbacks-0

            這是我轉的一篇非常全的帖子 

            能查到的解決方法都在里面有提及: 

            我是使用 stdafx.h加入這句

            code #pragma comment(linker, "\"/manifestdependency:type='Win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='X86' publicKeyToken='1fc8b3b9a1e18e3b' language='*'\"") 解決的 

            vs2008的話改成VC90.CRT 

            version='8.0.50608.0' 改成你的vs的版本. 


            以下是轉載的全文    

            一個項目從vc6遷移到VS2005,在修改了一系列的類型警告后。編譯成功了,Debug的時候,結果卻冒出一個R6034錯誤:"An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information."
                  Output Window:app.exe 中的 0x7c984ed1 處最可能的異常: 0xC0000142: DLL Initialization Failed。
                  編譯條件是:Linker->Manifest File ->Allow Isolation:Yes。

                在同樣的編譯條件下,Release則可以正常編譯運行。
            采取解決措施:在stdafx.h文件中加入:
            #pragma comment(linker, "\"/manifestdependency:type='Win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='X86' publicKeyToken='1fc8b3b9a1e18e3b' language='*'\"")
               之后,調試中出現若干錯誤,屏蔽掉錯誤代碼,可以運行,只是最前面的一個splash窗體沒有了。
               (參考:http://forums.microsoft.com/china/ShowPost.aspx?PostID=1988459&SiteID=15)
            在此之前,參考了很多關于R6034錯誤的網頁,主要是考慮manifest:
                (1)磁盤系統是fat32格式的:FAT32的時間精度不夠,所以linker在生成文件的時候會出錯,如果是ntfs的就沒有問題.VS2005項目設置里面在清單工具(Manifest Tool)下面有一個選項"使用FAT32解決辦法"(Use FAT32 work around)是專門解決這個問題的.對于FAT32的磁盤,需要選擇"Yes",默認是"No".
                (2)Visual Studio 2005用向導生成的項目,在運行時可能會遇到找不到MFC80UD.dll的問題。這個問題可能是Manifest 引起的,因此我們可以通過修改項目屬性(properties)->清單工具(property pages)->鏈接(linker)-->manifest file -->Allow Isolation,把“嵌入清單”選“否”,.然后編譯、鏈接、運行即可。
            Visual Studio 2005用向導生成的項目,在運行時可能會遇到找不到MFC80UD.dll的問題。這個問題可能是Manifest 引起的,因此我們可以通過修改項目屬性->清單工具->輸入輸出,把“嵌入清單(Embed Manifest)”選“否”,.然后編譯、鏈接、運行即可。
                (3)有人提示,在項目屬性里,mfc的使用應該設置為靜態鏈接。但我改成靜態后,會有很多錯誤,于是放棄。
                (4)問了一個論壇上的網友,他說可能和Microsoft C++ Runtime Library有關系。

                 除此之外,一個參考文獻上說的解決方法是:將Linker->Manifest File ->Allow Isolation:Do not Allow Side by Side isolation,則無論在Debug和Release條件,都出現如下:This application has failed to start because MSVCR80D.dll was not found. Re-installing the application may fix the problem."
                關于這個問題,有篇博客文章上說:
            VS2005在FAT32分區的介質上對于Win32程序編譯的一些注意
            問題描述:大部分的vs.net 2005的用戶在新建“win32項目-windows應用程序”的時候,新建的工程都通不過去,出現如下提示: 
            Solution to “MSVCR80D.dll not found”
            “沒有找到MSVCR80D.dll,因此這個應用程序未能啟動。重新安裝應用程序可能會修復此問題。”

            問題所在:由于vs.net 2005 采用了一種新的DLL方案,搞成一個exe還要配有一個manifest文件(一般在嵌入文件里了,所以看不到,不過也可以不嵌入,這樣會生產一個<程序名>.exe.manifest的文件,沒它exe自己就轉不了了:)這是個新功能,微軟弄了個新工具(mt.exe),結果不好用,好像是fat32下時間戳有問題(在ntfs下這個問題就沒有了),搞得manifest有時嵌入不到exe中(默認配置是嵌入的,所以就報錯找不到dll了。 

            解決方案
            1. 微軟的解決方案。
              在“屬性->配置屬性->清單工具->常規“下有一個”使用FAT32解決辦法,設置為"是"
            2. 找到你的工程的文件夾,如(myproject),找到其下的myproject\myproject\Debug\,Delete it.
            參考:
                1。http://www.grimes.demon.co.uk/workshops/fusWSThirteen.htm
                2。http://blogs.msdn.com/nikolad/articles/427101.aspx
                3。http://blog.csdn.net/fjnucse/archive/2007/09/06/1774190.aspx
                4。http://msdn2.microsoft.com/zh-cn/library/ms235560(vs.80).aspx
                5。http://www.3800hk.com/Article/cxsj/cjiajia/txtxdmtcjj/2007-04-02/Article_125561.html
                 6。http://msdn2.microsoft.com/en-us/library/ms235342.aspx
                7。http://msdn2.microsoft.com/en-us/library/ms235624(VS.80).aspx
                8。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=130240&SiteID=1
                 9。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=94312&SiteID=1
                10。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=190815&SiteID=1
                11。http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=208118&SiteID=1
                12。http://forums.microsoft.com/china/ShowPost.aspx?PostID=1988459&SiteID=15





            我也碰到上面的問題,上面是解決方案。直接在stdafx.h頭文件中加入這個就可以了。#pragma comment(linker, "\"/manifestdependency:type='Win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='X86' publicKeyToken='1fc8b3b9a1e18e3b' language='*'\"")
            posted on 2009-11-15 19:51 deercoder 閱讀(36946) 評論(2)  編輯 收藏 引用 所屬分類: 常見編譯器錯誤解決辦法

            評論:
            # re: 【轉載】R6034錯誤,C Runtime Error 2012-05-19 22:46 | as009
            通過修改項目屬性->清單工具->輸入輸出,把“嵌入清單(Embed Manifest)”選“否”,.然后編譯、鏈接、運行即可。

            按上述設置確實解決了問題,但詭異的是,我關閉VS2008,重新打開,然后再工程屬性中恢復Embed Manifest選擇yes,重新編譯,然后運行,程序仍然成功!!  回復  更多評論
              
            # re: 【轉載】R6034錯誤,C Runtime Error 2013-04-14 22:26 | limengzheng
            打開網頁的時候會出現r6034  回復  更多評論
              
            三级韩国一区久久二区综合 | 久久久久亚洲精品中文字幕 | 2021精品国产综合久久| 久久天天躁狠狠躁夜夜avapp| 国产精品久久国产精麻豆99网站| 国产精品久久久久久久久久免费| 三级片免费观看久久| 丰满少妇高潮惨叫久久久| 激情久久久久久久久久| 久久午夜羞羞影院免费观看| 久久国产午夜精品一区二区三区| 亚洲AV乱码久久精品蜜桃| 久久精品国产精品亚洲人人| 日韩精品无码久久久久久| 久久免费观看视频| 久久香蕉综合色一综合色88| 久久精品国产男包| 久久伊人亚洲AV无码网站| 久久精品蜜芽亚洲国产AV| 国产精品久久久久久久人人看| 亚洲国产二区三区久久| 亚洲国产精品18久久久久久| 久久综合伊人77777| 9191精品国产免费久久| 久久免费国产精品一区二区| 久久久久人妻精品一区二区三区| 欧美精品国产综合久久| 亚洲国产日韩欧美综合久久| 国产91久久综合| 亚洲国产精品久久久久网站 | 久久夜色精品国产网站| 久久99精品国产麻豆宅宅| 香蕉久久永久视频| 亚洲午夜无码久久久久小说| 久久国产成人| 色诱久久av| 久久毛片一区二区| 亚洲午夜久久久久久久久电影网| 蜜桃麻豆WWW久久囤产精品| 97久久婷婷五月综合色d啪蜜芽| 久久久无码精品亚洲日韩蜜臀浪潮|