30

我試圖在不使用IDE的情況下使用Visual Studio Express 2010 C++編譯器。我在C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin中找到了cl.exe。然而我有一些困難。首先它給了我一個警告彈出,當我鍵入cl說'程序無法啓動,因爲您的計算機缺少mspdb100.dll。'命令行編譯使用cl.exe?

所以我添加C:\ Program Files文件(x86)的\微軟的Visual Studio 10.0 \ Common7 \ IDE到系統路徑,然後再試一次,但這次:

致命錯誤C1510:無法加載語言資源clui.dll。

任何想法如何解決這個,所以我可以編譯?另外,我將如何設置路徑,以便在不包含cl.exe的解決方案文件夾中鍵入'cl main.cpp'等。此刻我必須在bin文件夾內。謝謝。

+8

不是VS爲所有正確的設置安裝cmd shell的快捷方式/菜單項? – Mat

+1

VS文件夾內有一個win32_all_vars.bat或者sth文件,執行並重試。 – Xeo

+0

@Mat:是的,但這不完全是一個優雅的解決方案。 –

回答

49

嘗試從

Start-> 
    All Programs -> 
     Microsoft Visual Studio 2010 -> 
      Visual Studio Tools -> 
       Visual Studio Command Prompt 2010 

或者啓動Visual Studio命令提示符,您可以通過在命令提示符下運行此設置環境:

"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 

(注意:這將使你的環境)

(note2:根據需要更改x86選項爲x86ia64amd64,x86_amd64,x86_ia64

從那裏你可以運行cl.exe。如果你想這是自動完成的,撤消只要您運行cl,創建與此內容的批處理文件:

@echo off 
%comspec% /c ""c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 && cl.exe %*" 

(該/c告訴命令提示符下運行此命令後,結束會話,讓您的環境回報到正常。)

從那裏,把它命名爲cl.bat。文件夾中的將這個地方,而路徑添加到該文件夾​​到您的PATH環境變量,確保因此,只要您輸入cl代替cl.exe

我這個cl.bat執行談到之前路徑cl.exe,建議您只需將cl.bat放入您的system32/文件夾中,它應該在默認安裝的cl.exe的路徑之前。

或者,您可以按任意順序添加它,並始終鍵入cl.bat,或將其命名爲其他名稱,以免出現混淆。

4

只需使用vcvarsall.bat爲jsvk建議:

"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 

之後,使用devenv.exe建立自己的東西,如果你保持自己的安全,從很多頭痠痛:

devenv solutionfile.sln /build [ solutionconfig ] [ /project projectnameorfile [ /projectconfig name ] ] 

有一個很多其他的命令行開關,你可以檢查devenv /?

4

我有多個版本的VS安裝;我爲每個版本創建一個.BAT文件,放在路徑的某個地方,調用相關的「vcvarsall.bat」。例如「vc9.bat」爲VS2008調用vcvarsall.bat,而「vc10.bat」調用VS2010的vcvarsall.bat。我可以像往常一樣打開一個正常的命令窗口,輸入「vc9」,然後彈出,命令窗口準備好使用VS2008進行編譯等。

+0

這是個好主意,我不知道知道爲什麼我之前沒有這樣做過。 –

+0

我們可以看看你的批處理文件嗎?也許是github的要點或代碼pastei? –

4

這是一個相當簡單和艱鉅的任務。首先將編譯器路徑添加到系統路徑中。:C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ bin;接下來,打開命令提示符並將目錄更改爲源文件夾;然後執行vcvars32.bat文件來設置在x86上使用vC++的環境;在此之後,您現在可以鍵入cl編譯您的程序

0

鏈接器內存不足時會發生錯誤。
您可以使用x64工具架構的Visual Studio工具。

MSBuild的命令行:

msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64 

或者更好的是,在.vcxproj其添加到項目的設置。
指定編譯器和工具的64位版本,下面的屬性組元素Microsoft.Cpp.default.props元素後添加到Myproject.vcxproj項目文件:

<PropertyGroup> 
    <PreferredToolArchitecture>x64</PreferredToolArchitecture> 
</PropertyGroup> 

這些選項將使Visual Studio中使用的工具的AMD64架構的文件夾下(根據目標架構):
VC \ BIN \ AMD64
VC \ BIN \ amd64_x86
VC \ BIN \ amd64_arm

https://msdn.microsoft.com/en-us/library/dd293607.aspx