問題タブ [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.

0 投票する
1 に答える
78 参照

c++ - ユーザーが Visual Studio でマクロを追加しても機能しない

vcxproj ファイル、またはより正確には、vcxproj ファイルからロードされるユーザー .props ファイルにマクロを追加したいと考えています。

このユーザー マクロを宛先 exe ファイルの名前 (vcxproj ファイル内) に使用します。

そして小道具ファイルには、このマクロの定義があります:

Visual Studio (2017) でプロジェクトを開くと、プロパティですべてが正しく表示されます。たとえば、ファイル名は. "MajAcTest_Rel_2018_x64"

このプロパティの写真を参照してください

しかし、ファイルをビルドすると、ファイルの名前には変数がありません (MajAcTest__x64)

なんで?助けてください。

0 投票する
1 に答える
313 参照

visual-studio - Visual Studio マクロを使用して、CMake によって生成された Visual Studio C++ プロジェクトで出力および中間ディレクトリを設定する方法は?

C/C++ プロジェクトの Visual Studio 2019 での最終的な望ましい結果は次のとおりです。

ここに画像の説明を入力

私が探している重要な部分は、この MSVC プロジェクト プロパティ ダイアログの上部の 2 行です。

  • "出力ディレクトリ":$(Configuration)-$(PlatformArchitecture)\
  • 「中間ディレクトリ」:$(Configuration)-$(PlatformArchitecture)\$(ProjectName)\

ご覧のとおり、どちらも Visual Studio$(xyz)マクロを使用してターゲット パスを定義しています。

私が苦労してきた質問:

  1. 生成された vcxproj ファイルにすでに展開されているパスではなく、CMake がこれらの文字列を吐き出すようにするにはどうすればよいですか?

  2. 複数の(またはすべての) 生成された MSVC C/C++ プロジェクト ファイル (ライブラリ、実行可能ファイルなど) でこれを行うには、どこで設定すればよいですか? テンプレート ファイルにパッチを適用する必要がありますか? または、コマンドラインまたは構成ファイルの設定を使用してパッチを適用し、内部で定義された値を上書きすることはできますか?CMakeLists.txt

  3. スクリーンショットに示されているように、すべてのvcxproj ビルド ターゲットに対してこの設定が必要な場合、特に注意する必要があることはありますか?

    (私の場合、これは通常、x86 と x64 の両方でデバッグ + リリースであるため、 Visual Studioの 2 つの構成と 2 つのプラットフォームが話します)

SOに関する他の質問(少なくとも私が掘り下げたもの)は、CMakeを使用して1つの「ハードコードされた」パスを別のパスに置き換えるため、これにまったく対処していません(異なるCMake変数を使用するだけですが、vcxprojが実行される前にすべて絶対パスに展開されます)生産)。