2012-12-20 161 views
1

我嘗試使用編譯命令行一個C++文件:編譯命令行的Visual C++

C:\"Program Files (x86)"\"Microsoft Visual Studio 10.0"\VC\bin\x86_amd64\CL /FAcs C:\Users\X\Documents\"Visual Studio 2010"\Projects\"Project File"\My_Project\HELLO.CPP 

,但我得到的錯誤:

The program can't start because mspdb100.dll is missing from your computer. Try reinstalling the program to fix this problem.

我必須做出錯誤的命令線路呼叫。有人可以幫忙嗎?

編輯我將從C#應用程序調用這個,創建一個Process對象然後執行。有沒有一種方法可以確保所有變量都已設置,從C#應用程序/從C#代碼執行另一個.bat腳本?

+1

檢查您的機器。確保mspdb100.dll位於您的環境PATH上。 – StarPilot

回答

4

在編譯器安裝中,找到名爲vsvars32.bat的批處理文件。運行。問題解決了。 (對不起,關於究竟沒有詳細說明它位於哪裏;我不是在我的Windows機器現在)

+0

C:\ Program Files文件(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ Tools – mezamorphic

+0

儘管... – mezamorphic

+0

仍然沒有工作@mezamorphic你在你正在使用的cmd中運行它,還是你只是雙擊它? –

3

這不是命令行,但是當您啓動MSVS時,它還會將一些環境變量和路徑設置爲它需要的二進制文件。

從MSVS啓動組啓動命令提示符 - 應該已經設置了正確的路徑。

+0

-1;編輯PATH是一個危險的路線,實際上有幾個'dll's必須被添加來從命令行編譯。我不確定你的意思是「MSVS啓動組」,但如果你的意思是使用特定於MSVS的命令提示符,那就更好了。 –

+0

@KyleStrand正確。 –

+0

好吧,考慮到這也是我推薦的解決方案,我將刪除downvote。 –

1

您可以使用運行vsvars32.bat(在你使用編譯命令提示符)的皮特·貝克爾的解決方案,或您可以使用MSVS命令提示符,該提示符具有預先設置的所有變量。