2016-08-03 23 views
0

私はおそらく何かが分かりません - しかし、私はこの問題についてしばらく固執しています。私はMSBuildを使ってコマンドラインでVisual Studioプロジェクトをコンパイルしています。MSBuild - インクルードファイルを開くことができません(INCLUDEリストに記載されていますが)

CALL vcvars32.bat 
MSBuild myproject.sln /m /t:rebuild /p:Configuration=Release /verbosity:m 

しかし、これは私にエラーなります: - fatal error C1083: Cannot open include file 'winsock.h': No such file or directory

をしかしVCVARS32.BATは「WINSOCK.H」を含むディレクトリを呼び出した後、私は環境変数INCLUDEをチェックすると、リストにある基本的には、このようなだから私は間違いなくSDKにこのファイルを持っています。

さらに、MSBuildの冗長性を詳細に変更すると、完全なコンパイルコマンドが使用されています。それをコピーしてコンソールで実行すると、同じcppファイルが問題なくコンパイルされます。

MSBuildのコンテキスト内で何が違うのですか?

答えて

0

解決しました。/p:useenv=trueを追加しました。MSBuildにINCLUDE環境変数を使用させます。

(まだ少しわからない私は、コマンドラインの以前のビルドをすることを必要とした思い出すことができないので、それは、しかし行われなければならなかった理由。)

+0

この記事に基づき、ということを保証するためにtrueにUSEENVプロパティを設定します環境変数はオーバーライドされません。あなたは環境変数をオーバーライドしますか? –

+0

@ s09少なくとも、新鮮なcmdでこれらの2つのコマンドを実行するだけではありません。 – Zitrax

+0

新しいプロジェクトでその問題を再現できますか?ここで詳細な手順を提供する(コマンドを含む) –

関連する問題