web-dev-qa-db-ja.com

MS C ++ 2010およびmspdb100.dll

MicrosoftのC++コンパイラとリンカーは、mspdb100.dllと奇妙な関係にあるようです。もちろん、IDEから実行する場合、コンパイラーとリンカーは正常に動作します。コマンドラインからいずれかを実行すると、エラーが発生します。

問題ありません。DLLを見つけてディレクトリにコピーしました。今ではコンパイラは正常に動作しますが、リンカは死にます。

PATHに "%VS10%\ Common7\IDE"を追加することで問題を解決できましたが、さまざまな理由(パフォーマンス、システムの純度、OCDなど)で、それをしたくありません。なぜこのセットアップはとても扱いにくいのですか、それを解決するために私ができることは他にありますか?

59
zildjohn01

現在のシェル内からpath\to\VC\bin\vcvars32.batを実行してみてくださいfirst。これにより、コマンドラインセットアップがIDEセットアップと一致するようになります。

これは永続的な修正ではなく、新しいシェルを起動するたびに行う必要があります。

環境変数にその.batにあるすべてのものを永続的に追加する方法を見つけることもできるでしょう。

72

Microsoft Visual Studio 10.0\Common7\IDEをパスに追加すると、この問題はもう存在しなくなります。この愚かなバッチファイルを毎回実行することなくビルドできます。

27
monokrome

Microsoft Visual Studio 2010 Expressをインストールすると、[スタート]メニューの[Microsoft Visual Studio 2010 Express]フォルダーの下に、[Visual Studioコマンドプロンプト(2010)]へのリンクがあります。開いた。そうすれば、PATH変数を編集する必要はありません。

このショートカットは次を実行します。

%comspec%/ k "" C:\ Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat "" x86

ショートカットを使用するのが便利でない場合は、この.batファイルが何をするのかを調べることから、何か役に立つものを学ぶことができますか?

6
LokMac

私はこれが少し時代遅れであることを知っていますが、誰かがコンパイラをコマンドラインから実行する方法を探しているなら;これを実行するために私がやったことです。

Win7 32ビットとVisual Studio 2010を使用しています。C:\ Windowsに小さなバッチファイルを作成しました。 C:\ Windowsでadminとしてcmdプロンプトを開き、次を入力します。

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を押して、もう一度Enterキーを押します。

当然、使用するパスは、Visual Studioをインストールした場所へのインストールパスです。

これで、Windowsの任意の場所またはディレクトリから動作するコマンドラインコンパイラを使用できます。これをテストするには、デスクトップに移動し、cmdプロンプトを管理者として開きます。 Ctrl + Shiftを使用して右クリックし、ここで[開く]コマンド[プロンプト]を選択します。コマンドプロンプトで「cl」と入力し(引用符なし)、Enterキーを押します。 「Microsoft Visual Studio 2010 x86ツールを使用するための環境を設定しています」というメッセージが表示されます。

「cl」と入力してEnterキーをもう一度押すと、コンパイラー情報が表示されます。コンパイルする準備がすべて整いました。

楽しい!

2
quags

同じエラーが発生しました。vs2010x86バージョンをx64システムにインストールしたためです...

2つのフォルダーを開きます。

C:\ Windows\Microsoft.NET\Framework\v4.0.30319

C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\VC\bin

2つのcvtres.exe。右クリックして、[プロパティ]、[詳細]の順に選択します。古いバージョンを削除すると、cmakeはうまく機能します。これがお役に立てば幸いです。

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

2
Zhang Teng

たぶんそれは誰かを助けるでしょう...

を追加してこの問題を解決しました

PATH += %PATH_TO_VS_IN_YOUR_SYSTEM%/Common7/IDE;

to nvcc.profile.

もちろん、 %PATH_TO_VS_IN_YOUR_SYSTEM%は、システムのVisual Studioへの実際のパスです。

1
avtomaton

古いが、おそらくまだ有効:

私にとっては、C:\ Windows\System32がPATH変数から何らかの形で欠落しています。

不足しているフォルダーをパスに追加すると、このエラーが解決しました。 VS2010コマンドプロンプトでエラーが表示される:VS Common Toolsフォルダーの場所を特定できません

1
Oliver Zendel

windows cmd.exeから直接ツールを実行しようとすると、vcvars32.batファイルを実行して環境を設定する必要があります。あなたのための環境。代わりに、vcvars32.batを自動的に実行するVisual Studioコマンドプロンプトを実行できます。それでも問題がある場合は、間違いなく有名なパス変数の問題です。

環境内の "path"変数に "c:\ windows\system32 \".batファイルがVCツールを構成するために必要とするため。

この問題などは、通常、多くの開発プラットフォームをマシンにインストールするために発生し、おそらくパス変数が変更される可能性があります。

これを確認してください。 https://schrievkrom.wordpress.com/2011/01/25/error-cannot-determine-the-location-of-the-vs-common-tools-folder/

1
the accountant