1. 程式人生 > >Microsoft.CppCommon.targets(574,5): error MSB6006: "mt.exe" exited with code 31.解決辦法

Microsoft.CppCommon.targets(574,5): error MSB6006: "mt.exe" exited with code 31.解決辦法

一、問題出現

  用VS編譯動態庫dll檔案的時候,ReBuild過程中會遇到Microsoft.CppCommon.targets(574,5): error MSB6006: "mt.exe" exited with code 31.這個問題,略坑爹啊,找了半天都是英文的解決辦法,也沒解釋清楚,於是記錄分享。

具體錯誤如下

1>  Generating code
1>  Finished generating code
1>  myRecast1.vcxproj -> C:\Users\Lufeng\Documents\Visual Studio 2010\Projects\myRecast1\x64\Release\recast.dll
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(574,5): error MSB6006: "mt.exe" exited with code 31.
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.57
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========


二、解決辦法

  設定project的屬性Manifest Tool,把 "Embed Manifest" 設定成No,具體操作如圖:


  這樣就能正常編譯了,ReBuild再多次都不會報錯了。。

三、問題原因

  具體問題原因如下,和manifest有關。

According to Microsoft's documentation, Mt.exe is "a tool that generates signed files and catalogs". Mt.exe is used in the manifest generation process. If you don't know what a manifest is,

further documentation explains: "A manifest is an XML document that can be an external XML file or a resource embedded inside an application or an assembly. The manifest of an isolated application is used to manage the names and versions of shared side-by-side assemblies to which the application should bind at run time. The manifest of a side-by-side assembly specifies its dependencies on names, versions, resources, and other assemblies."

  具體翻譯就是:根據微軟的文件,MT.EXE是“生成簽名的檔案和目錄的工具”。 MT.EXE採用的是清單生成過程。如果你不知道什麼是明顯的是,更多的文件解釋說:“manifest 是一個 XML 文件,可以是外部 XML 檔案,也可以是嵌入應用程式或程式集內的資源。isolated application 的清單用於管理該應用程式在執行時應該繫結到的共享並行程式集的名稱和版本。side-by-side assembly 的清單指定該程式集在名稱、版本、資源和其他程式集上的依賴項。“

全文完。。

相關推薦

Microsoft.CppCommon.targets(574,5): error MSB6006: "mt.exe" exited with code 31.解決辦法

一、問題出現   用VS編譯動態庫dll檔案的時候,ReBuild過程中會遇到Microsoft.CppCommon.targets(574,5): error MSB6006: "mt.exe" exited with code 31.這個問題,略坑爹啊,找了半天都是英文

error MSB6006:"mt.exe" exited with code 31解決辦法

一、問題出現   用VS編譯專案的時候,總是遇到error MSB6006: "mt.exe" exited with code 31.這個問題。 具體錯誤如下: 二、解決辦法   設定project的屬性Manifest Tool,把 “Input and Out

1>C:/Program Files/MSBuild/Microsoft.Cpp/v4.0/Microsoft.CppCommon.targets(151,5): error MSB6006: “cmd.exe”已退出,程式碼為 3。

原 1>C:/Program Files/MSBuild/Microsoft.Cpp/v4.0/Microsoft.CppCommon.targets(151,5): error MSB6006: “cmd.exe”已退出,程式碼為 3。

C:Program FilesMSBuildMicrosoft.Cppv4.0V110Microsoft.CppCommon.targets(249,5): error MSB6006: “CL.exe”已退出,代碼為 -1073741515。

studio ros ram target obj .cpp .dll err x86 解決: Add this to your PATH environment variables:C:\Program Files (x86)\Microsoft Visual Studi

Microsoft.Common.targets(2401,5): error MSB6006: “LC.exe”已退出,程式碼為 -1

最近一個c#工程,之前編譯正常。後重裝系統,安裝DevExpress後,編譯的過程中,什麼錯誤也沒提示,只提示"4>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2401,

錯誤 2 error MSB6006: “CL.exe”已退出,程式碼為 5

今天使用vs 2013 編譯一個c檔案,因為好久沒有開啟這個軟體了,突然直接報錯提示:錯誤 2 error MSB6006: “CL.exe”已退出,程式碼為 5。 今天軟體的現象是: 建立一個新的空的專案,生成沒有問題,編輯建立一個.c檔案,生成時而報錯時而不報錯。因為無法生成解決方案,因

error MSB6006 rc exe 已退出,程式碼為 5

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

error MSB6006 rc exe 已退出,程式碼為 5

                我的環境:win7 x64 + VS2012昨天在編譯一個工程時,出現如下錯誤:1>  所有輸出均為最新。1>ResourceCompile:1>  TRACKER : 錯誤 TRK0005: 未能找到:“rc.exe”。系統找不到指定的檔案。1>  1

error MSB6006: “CL.exe”已退出,程式碼為 -1073741515。缺少api-ms-win-crt-process-l1-1-0.dll檔案

在同事電腦上使用安裝VS2015後,無法編譯,報錯 error MSB6006: “CL.exe”已退出,程式碼為 -1073741515 試了網上各種方法無效,嘗試直接去安裝目錄下執行cl.exe提示缺少api-ms-win-crt-process-l1-1-0.dll

安裝Microsoft .NET Framework 2.0 提示 MSI returned error code 1603 解決辦法

環境:WIN2003  .NET 2.0SP1  .NET3.0SP1 安裝Microsoft .NET Framework 2.0SP1 提示 MSI returned error code 1603 提示一下錯誤 注意:我這裡是安裝 2.0SP1 [03/1

error MSB6006: “cmd.exe”已退出,程式碼為 3。

之前編譯osg的時候因為經常不成功而去機房換電腦。在過程中可能出現錯誤:錯誤 1 error MSB6006: “cmd.exe”已退出,程式碼為 3。 151 C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Micros

【Visual Studio】“rc.exe”已退出,代碼為 5 ("rc.exe" exited with code 5.)

rec ++ 系統變量 tab src tor cnblogs 方案 技術分享 【解決方案】找到 rc.exe 所在目錄,然後 方法1:添加該目錄到 VC++ Directories --> Executable Directories中 方法2:添加到系統變量中

VMware 安裝CentOS 6.5圖文步驟 以及安裝後無法聯網的解決辦法

es2017 網絡連接 角色 好用 成功 ddr sysconf 命名 its 一、VMwareWorkstation10 中安裝Centos6.5(64位)步驟: 首先下載vmware 和centos6.5 1. 打開VMware-workstation點擊&

[Discuz!] Discuz X1.5點擊“發帖”出現XML代碼的解決辦法

pla mage 找到 查找 什麽 image 解決 目錄 清理緩存 使用的是Discuz X1.5程序,不知什麽原因,今天突然出現了大問題,就是在點擊“發帖”的時候,原來正常顯示的網頁竟然變成了XML代碼!經過一番查找資料,也未能找到是什

Mysql ERROR 1396 (HY000) 錯誤的解決辦法

mysql 1396建立用戶的時候報告這個錯誤:ERROR 1396 (HY000): Operation CREATE USER failed for ‘abc‘@‘localhost‘原因是mysql中已經有了這個用戶,從mysql.user中直接刪除delete,然後刷新權限FLUSH PRIVILEG

centos 報錯 “Job for iptables.service failed because the control process exited with error code.”的解決辦法

cau ack res sta ble put use wal ror 原因:因為centos7默認的防火墻是firewalld防火墻,不是使用iptables,因此需要先關閉firewalld服務,或者幹脆使用默認的firewalld防火墻。 操作步驟: 關閉防火墻 1.

啟動mongodb時ERROR: child process failed, exited with error number 100

這是因為之前暴力關閉mongodb服務導致資料被鎖定 找到自己mongo的目錄 這裡用mobaxterm讓大家看一下目錄結構 在config、shard1、shard2、shard3目錄的data目錄下(具體的分片根據自己而定),將  mongod.lock&nbs

Error inflating class android.support.v4.view.ViewaPager解決辦法 Android studio版本

點選依賴管理 切換到依賴  點選加號 搜尋v4點選新增 發現找不到一部分資原始檔 ,因為版本不符合 在我們的gradle檔案中修改版本號 我這裡是26的編譯版本所以改為26 ok編譯通過     &

error: Error parsing XML: not well-formed (invalid token)解決辦法

        從另一個工程中拷貝程式碼到新的工程後,編譯出現了error: Error parsing XML: not well-formed (invalid token)錯誤,剛開始不清楚怎麼解決。重新拷貝編譯,也還是同樣的問題。後來進入到工程中對相應

vs2010編譯錯誤:error MSB3073: :VCEnd” exited with code 1.

  1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: The command ""D:\vsproject\HCheck\D