2015-10-27 27 views
0

我需要在Visual Studio Express 2013中爲我的項目創建一個.exe文件。我有一個窗體並且創建它以運行多線程。 .exe文件需要在不同的計算機上運行。該項目無錯地生成並運行完美。我讀過線程,說我需要在屬性 - > c/C++ - >代碼生成 - >運行時庫中更改Multi-threaded DLL (/MD) to Multi-threaded (/MT)以在另一臺計算機上運行.exe文件。我想在此之後,當我生成項目已經發生了錯誤:「Error 2 error D8016: '/clr' and '/MT' command-line options are incompatible".我如何能解決這個任何建議使用Visual Studio Express創建用於C++代碼的獨立可執行文件2013

編輯 我試圖創建一個文件夾,並添加.exe文件(在/ MD? )與丟失的DLL文件一起我試圖運行不同的計算機上的.exe文件,然後出現一個不同的錯誤:「該應用程序無法正常啓動(0xc000007b)」

+1

當您創建項目時指定了錯誤的設置,則使用.NET編譯器而不是本機編譯器。 –

+0

@MarkRansom當我將其重新設置爲/ MD時,該.exe仍然不適用於其他計算機。因此,這意味着我必須將clr和crt安裝到我想運行.exe文件的其他計算機上? – rocky

回答

1
  1. 如果你得到一個成功的構建,你有「一個.exe可以運行在不同的計算機上」。

  2. Visual Studio支持允許.Net語言擴展的「標準」C++和C++/CLI,並以.Net託管代碼運行。

  3. 您的/ clr開關意味着您(可能無意)構建C++/CLI程序。

  4. 建議:禁用CLR:

    C++>常規> 「編譯與公共語言運行庫支持」> 「否」

  5. 如果源中包含任何CLI擴展,構建現在應該失敗,你可以替代標準的C++等價物。相反,如果你想想要一個C++/CLI程序 - 它應該能夠運行在具有合適.Net運行時的任何Windows PC上。只需關閉「/ MT」選項(所有.Net程序都支持多線程)並重建。

+0

我將「編譯通用語言運行時支持」更改爲「否」,然後發生了140個錯誤。 100從我的名字空間形成intellisence錯誤和40。 – rocky

+0

@rocky你可能試圖爲你的UI使用.NET類。如果您不打算依賴.NET庫和運行時,那是一個錯誤。你將不得不重新開始使用諸如MFC之類的其他技術。 –

+0

@MarkRansom還有其他選擇嗎? – rocky

相關問題