55

微軟的C++編譯器和鏈接器似乎與mspdb100.dll有奇怪的關係。當從IDE運行時,編譯器和鏈接器當然可以正常工作。從命令行運行任何一個時,出現錯誤。MS C++ 2010和mspdb100.dll

沒問題,我找到了DLL並將其複製到目錄中。現在編譯器工作正常,但鏈接器死亡。

我可以通過在我的PATH中添加「%VS10%\ Common7 \ IDE」來解決問題,但由於各種原因(性能,系統純度,OCD等),我不想這樣做。爲什麼這個設置如此敏感,還有什麼我可以做的解決它?

+0

還看到:http://stackoverflow.com/questions/1125537/visual-studio-command-prompt-vs-regular-command-prompt – 2010-11-22 14:23:47

+2

你想接受回答,或添加更多的細節,爲什麼沒有什麼是可以接受的? – 2011-12-08 13:55:15

+0

Ctrl + c對話框,所以當使用谷歌搜索時找到該條目:--------------------------- cl。exe無法找到組件 --------------------------- 此應用程序未能啓動,因爲找不到mspdb100.dll。重新安裝應用程序可能會解決此問題。 --------------------------- OK ------------------- -------- – thomasa88 2012-12-06 10:32:26

回答

70

嘗試運行path\to\VC\bin\vcvars32.bat從您當前的shell內第一個。這應確保您的命令行設置將與IDE設置相匹配。

這不是一個永久性修復 - 每次啓動新shell時都需要這樣做。

你也許還可以找到一些方法將永久性的.bat永久地添加到環境變量中,但是......就像你問的那樣,爲什麼MS安裝沒有這樣做?

+1

非常好,它不起作用http://s018.radikal.ru/i516/1211/e7/1626d5447351.png – Tebe 2012-11-05 11:54:08

+0

該批處理文件告訴你,你的環境變量VS100COMNTOOLS的定義是空的(或已經沒有定義)。這是批處理文件的外部。有VS2010安裝嗎? – 2013-08-20 13:48:16

+0

VS100COMNTOOLS的另一個報告沒有被定義(不同的上下文)在http://stackoverflow.com/questions/4045780/resharper-property-vs100comntools-is-not-defined – 2013-08-21 12:54:19

2

我知道這有點過時,但如果有人正在尋找一種方式讓編譯器從命令行運行;這是我爲了讓它運行而做的。

我正在使用Win7 32位和Visual Studio 2010.我在C:\ Windows中創建了一個小批處理文件。在C打開命令提示符:\ Windows作爲管理員,然後鍵入以下內容:

copy con cl.bat 

@"C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32" %1 %2 %3 %4 %5 %6 
@"C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl" %1 %2 %3 %4 %5 %6 

然後按F6鍵並擊重新輸入。

很明顯,您將使用的路徑是安裝Visual Studio的安裝路徑。

您現在可以從Windows中的任何位置或目錄使用工作命令行編譯器。要測試此操作,請轉至桌面並以管理員身份打開cmd提示符;我更喜歡使用Ctrl + Shift並右鍵單擊,然後在此處選擇打開命令提示符。 在命令提示符下鍵入「cl」(不含引號)並按回車。您將看到一條消息「設置使用Microsoft Visual Studio 2010 x86工具的環境」

鍵入「cl」並再次點擊輸入,您將獲得編譯器信息。你都準備編譯。

享受!

+1

非常感謝這個,非常有用 – West1234 2014-03-28 09:49:13

25

將Microsoft Visual Studio 10.0 \ Common7 \ IDE添加到您的路徑,並且此問題將不再存在。您將能夠在不每次運行這個愚蠢的批處理文件的情況下進行構建。

+0

從原來的問題「我可以通過在我的PATH中添加」%VS10%\ Common7 \ IDE「來解決問題,但由於各種原因,我不想這麼做。」 – 2011-09-02 15:50:28

+0

在我的構建腳本中,我剛剛添加了一行: set「PATH =%PATH%;%VS100COMNTOOLS%\ .. \ IDE」 – grundic 2011-09-14 08:25:09

+1

Michael,因爲它是解決問題的唯一方法,所以它是唯一真正的答案。 vcvars32.bat文件只是爲你做這個。 – monokrome 2012-08-30 22:27:21

6

我注意到當我安裝Microsoft Visual Studio 2010 Express時,在「開始」菜單中的「Microsoft Visual Studio 2010 Express」文件夾下,有一個指向「Visual Studio命令提示符(2010)」的鏈接,打開時必要的環境變量。這樣你就不必編輯你的PATH變量。

此快捷方式運行以下:

%COMSPEC%/ K 「」 C:\ Program Files文件\微軟的Visual Studio 10.0 \ VC \ vcvarsall。蝙蝠「」x86

如果使用快捷方式不方便,也許你可以通過調查這個.bat文件的作用來學習一些用法。

2

我遇到了同樣的錯誤,那是因爲我們安裝了VS2010 x86版的x64操作系統...

打開兩個文件夾:

C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319

C:\ Program Files文件(x86)的\微軟的Visual Studio 10.0 \ VC \ BIN

你會發現兩個cvtres.exe。單擊右鍵,選擇屬性,然後選擇詳細信息。刪除舊版本,cmake將運行良好。 我希望這可以幫助你。

感謝「zhoudongao」@http://bbs.csdn.net/topics/390121452?page=1#post-394768226

+0

終於我的問題解決了。謝謝。 – Ultraviolet 2016-05-05 10:50:31

1

也許這將幫助別人......

我加入

PATH += %PATH_TO_VS_IN_YOUR_SYSTEM%/Common7/IDE; 

nvcc.profile解決了這個問題。

當然,%PATH_TO_VS_IN_YOUR_SYSTEM%是您的系統中Visual Studio的實際路徑。

1

看看你是否嘗試從Windows CMD.EXE的運行直接的工具,那麼你需要通過運行VCVARS32.BAT文件,該文件將設置環境,爲您設置的環境。相反,您可以運行visual studio命令提示符,它將自動運行vcvars32.bat。如果你仍然有問題,那肯定是着名的路徑變量問題。

確保「路徑」環境變量「C:\ WINDOWS \ SYSTEM32 \」添加到它價值,因爲.bat文件需要它來配置VC工具。

由於在機器上安裝了很多可能會更改路徑變量的開發平臺,因此通常會發生此類問題。

檢查這個.. https://schrievkrom.wordpress.com/2011/01/25/error-cannot-determine-the-location-of-the-vs-common-tools-folder/