問題タブ [vcbuild]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - プロジェクトには「Debug|x64」という構成が含まれていません
x64 のビルド構成プラットフォームで C++ プロジェクトをビルドしようとしています。64 ビット Windows Server 2008 を実行している新しいマシン上にあります。VS でビルド構成マネージャーを開くと、x64 プラットフォームを選択または作成できず、プロジェクトがスキップされます。MSBuild でビルドしようとすると、次のエラーが表示されます: VCBLD0004: プロジェクト 'MyProject' には 'Debug|x64' という構成が含まれていません
プロジェクトは別のマシンでは正常にビルドされていますが、新しいマシンではビルドされていないため、インストールで何かを見逃していたと思います。何を探すべきか?
windows - vcvars32.bat を実行してビルドを続行するビルド バッチ スクリプトを作成するにはどうすればよいですか?
vcvars32.bat
を使用して Visual Studio ビルド環境をロードし、ビルドを続行する簡単なバッチ スクリプトを作成したいと考えていますvcbuild
。ただし、私のスクリプトは、の呼び出しを超えて実行されませんvcvars32.bat
。私が得る最後の出力は次のとおりです。
ご覧のとおり、私は Visual Studio 2008 を使用しています。これが私の最も単純なバッチ スクリプトです。
msbuild - msbuild で vcbuild 環境を設定する
複数の C++ プロジェクト (*.vcproj) のビルドに使用される msbuild プロジェクト ファイルがあります。以下は典型的なプロジェクト ファイルの一部で、ビルドのグローバル環境変数がプロパティとしてオーバーライドされます。
これらの環境変数は、プロパティ シートを通じて、すべての vcproj ファイルで使用されます。vcproj の抜粋を次に示します。
プロパティ シートは次のようになります。
問題は、ビルド時に、msbuild ファイル (MYBINDIR、MYLIBDIR) で宣言された環境変数の値がプロパティ シートに反映されず、msbuild ファイルに対してのみローカルであるように見えることです。msbuild プロジェクト内で MYBINDIR が展開されます。 "d:\buildsysroot\bin" ですが、VC プロジェクト内では MYBINDIR は "d:\projects\bin" に展開されます。それは、私のメインの開発環境がどのようにセットアップされているかによるものです。
msbuild ファイルに設定された環境を VCBuild タスクに渡すにはどうすればよいですか?
この問題は、msbuild ファイルではなく、バッチ ファイルを使用し、「set」を使用してそこで環境を宣言することで解決できることを知っています。それが私がそれを行っていた方法ですが、1つの引数を持つmsbuildへの1回の呼び出しであり、それだけであるため、上記の方法を好みます。
編集
私はすぐに解決策を必要とし、バッチ ファイルと同じ方法で環境を設定するカスタム タスクを思いつきましたが、msbuild 内でそれを行うという利点があります。タスクの Execute() メソッドは単に Environment.SetEnvironmentVariable( var 、 val )。これにはまだプロセスの環境を設定する必要があります。別の方法があれば教えていただければ幸いです。
visual-studio - Visual C++2005プロジェクトで何が古くなっているか教えてください
Visual Studio2005に100以上のソースファイルVC++プロジェクトがあります。これらのファイルの多くには、カスタムビルドステップがあります。ビルドしても更新されないものがあります。デバッグの開始ボタンを押すたびに、「このプロジェクトは古くなっています:」ダイアログが表示され、ビルドするかどうかを尋ねられます。はいを選択しますが、何もコンパイルされません。問題が見つかったユーティリティを使用して、ソースファイルを1つずつ取り出すことができたと思います。もっと簡単な方法があるはずです。
私が使用したすべての同等のmakeには、古いターゲットとそれを構築するために使用されたステップを表示するコマンドラインオプションがありました。これを使用して、通常どおりにビルドしてから、冗長オプションを使用してビルドすることで問題を解決します。問題のあるファイルは、作成された唯一のファイルになります。
Visual Studioには、まだ見つけていない同等の設定があると思います。([ツール]->[オプション]->[プロジェクトとソリューション]->[ビルドと実行]->[MsBuild出力の詳細度])では、問題を特定するのに十分な情報が得られません。VS2005に何を構築しようとしているのかを正確に教えてもらうにはどうすればよいですか?
command-line - Windows での buildbot C++ ビルド: devenv.com、vcbuild.exe、または MSBuild.exe を使用しますか?
私のビルドボットは、devenv.com を使用して 3 年間実行され、Windows でプロジェクトをコンパイルしています。
現在、devenv.com では 64 ビット バージョンのビルドに問題があります。構成を「Debug|x64」として渡すと、パイプ文字が原因でコマンド ライン エラーが発生します。エスケープして引用符で囲むと、他のエラーが発生します。ディレクトリ名にスペースが含まれているため、コマンドラインが奇妙に理解されているためです。
vcbuild.exe と MSBuild.exe の両方を試しました。vcbuild.exe は完璧に動作します。私はそれに固執したいと思います。一方、MSBuild.exe の出力は完全に奇妙で複雑で、同僚はひどいと感じています。しかし、それは構築するための方法としてどこでも宣伝されています。
問題は、devenv.com、vcbuild.exe、および MSBuild.exe のどれが、時間内に持続する可能性が最も高い方法かということです。
build-process - コマンド ラインからの VCBuild リンク エラー
VC Express プロジェクトの外部ライブラリを使用しています。コマンド ラインを使用してビルドを自動化しようとしていますが、VCBuild は、外部ライブラリの include および lib ディレクトリ用に保存/追加した追加のディレクトリを認識しないようです。これに対する回避策はありますか?
visual-studio - コマンドライン ビルド VS2008 からプリプロセッサ ディレクティブを動的に追加する
私は VS2008 を使用しており、C/C++ プロジェクトを開発しています。.bat ファイルを使用して、コマンドライン (VC2k8 コマンド プロンプト) からプロジェクトをビルドしています。ビルド時に preprossor ディレクティブを動的に含める方法が必要です。
コマンドラインからビルドするために devenv を使用しています。
実際には、コマンド ライン パラメータに基づくマクロ定義をバッチ ファイルに設定したいと考えています。2 つの異なる .vcproj ファイルを保持できますが、複数の project/sln ファイルを保持すると問題が発生します。私のバッチファイルは次のようになります...
どんな助けでも本当に感謝しています。
ありがとう。
msbuild - MSBuild の VCBuild タスク - 出力パスの変更
製品の 1 つで自動ビルドを作成しようとしていますが、いくつかの VC++ プロジェクトで壁にぶつかりました。終わり。
これはその場しのぎの msbuild ファイルです。
スタインの答え:
このスペースを使用して、これを解決するために Stijn の回答を個人的にどのように使用したかを明確にすると思いました。MSBuild ファイルには、vsprops ファイルを作成するコードが含まれています。より単純なアプローチを取り、ファイルを手動で書き込むことにしました。
build.vsprops という名前のこのファイルを作成しました (出力パスは V:)
次に、MSBuild ファイルを編集して Override パラメーターを追加しました。
build - VCBuild:プロパティシートを読み込めません
VCBuildがプロパティシートの読み込みに失敗しています。$(SolutionDir)を指定するにはどうすればよいですか?