問題タブ [vcxproj]
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.
c++ - ユーザーが Visual Studio でマクロを追加しても機能しない
vcxproj ファイル、またはより正確には、vcxproj ファイルからロードされるユーザー .props ファイルにマクロを追加したいと考えています。
このユーザー マクロを宛先 exe ファイルの名前 (vcxproj ファイル内) に使用します。
そして小道具ファイルには、このマクロの定義があります:
Visual Studio (2017) でプロジェクトを開くと、プロパティですべてが正しく表示されます。たとえば、ファイル名は. "MajAcTest_Rel_2018_x64"
しかし、ファイルをビルドすると、ファイルの名前には変数がありません (MajAcTest__x64)
なんで?助けてください。
visual-studio - Visual Studio マクロを使用して、CMake によって生成された Visual Studio C++ プロジェクトで出力および中間ディレクトリを設定する方法は?
C/C++ プロジェクトの Visual Studio 2019 での最終的な望ましい結果は次のとおりです。
私が探している重要な部分は、この MSVC プロジェクト プロパティ ダイアログの上部の 2 行です。
- "出力ディレクトリ":
$(Configuration)-$(PlatformArchitecture)\
- 「中間ディレクトリ」:
$(Configuration)-$(PlatformArchitecture)\$(ProjectName)\
ご覧のとおり、どちらも Visual Studio$(xyz)
マクロを使用してターゲット パスを定義しています。
私が苦労してきた質問:
生成された vcxproj ファイルにすでに展開されているパスではなく、CMake がこれらの文字列を吐き出すようにするにはどうすればよいですか?
複数の(またはすべての) 生成された MSVC C/C++ プロジェクト ファイル (ライブラリ、実行可能ファイルなど) でこれを行うには、どこで設定すればよいですか? テンプレート ファイルにパッチを適用する必要がありますか? または、コマンドラインまたは構成ファイルの設定を使用してパッチを適用し、内部で定義された値を上書きすることはできますか?
CMakeLists.txt
スクリーンショットに示されているように、すべてのvcxproj ビルド ターゲットに対してこの設定が必要な場合、特に注意する必要があることはありますか?
(私の場合、これは通常、x86 と x64 の両方でデバッグ + リリースであるため、 Visual Studioの 2 つの構成と 2 つのプラットフォームが話します)
SOに関する他の質問(少なくとも私が掘り下げたもの)は、CMakeを使用して1つの「ハードコードされた」パスを別のパスに置き換えるため、これにまったく対処していません(異なるCMake変数を使用するだけですが、vcxprojが実行される前にすべて絶対パスに展開されます)生産)。