1

私の会社には、さまざまなプリプロセッサ定義で有効または無効にできる複数の機能を備えた大規模な C++ プロジェクトがあります。

プロジェクト構成のリストで可能なプリプロセッサ/機能の組み合わせをそれぞれ列挙すると、非常に広範なリストになります (長い構成名は言うまでもありません)。

ユーザーがプリプロセッサ定義を有効または無効にするために、ユーザーが構成可能な機能のリストをチェック/チェック解除できるように、ユーザーがビルドを開始したときにプロンプ​​トを表示できるプラグイン (またはその他の未知の機能) はありますか?

このようなものは素晴らしいでしょう:

ここに画像の説明を入力

4

3 に答える 3

2

定義を含むヘッダーファイルを生成する単純なアプリケーションを作成できます

#ifndef __GEN_CONFIG__
#define __GEN_CONFIG__

#undef  LOGGING
#define LOGGING 1 // for example

#undef  FEATURE_A
#define FEATURE_A 0

#endif

このヘッダーをプロジェクトに含めることができます。

アプリケーション/ダイアログをVisualStudioPre-Buildイベントとして実行して、コンパイルの直前にヘッダーファイルが更新されるようにすることができます。

于 2012-08-03T14:15:10.953 に答える
0

プロジェクトで使用されているすべてのプリプロセッサ キーのリストを作成する分析ツールを確認できます。http://cdsan.com/Samp_CondParams.php

リスト自体を構築するだけでなく、それらのパラメーターの分類を行います。

于 2012-08-03T21:41:24.297 に答える
0

私はまさにこのタスクに CMake を使用するのが好きです。ではCMakeLists.txt、コマンド を使用できます。このコマンドset(<variable> <value> CACHE <type> <docstring>)は、変数を作成し、指定されたドキュメント文字列と共に CMake キャッシュに入れます。などのツールを使用しccmakeて、これらの値を編集できます。値をブール値にすると、たとえば機能のオンとオフを切り替えることができます。

Windowsでは、質問に投稿したダイアログボックスに似たguiを使用してキャッシュエントリを表示および編集できます。

編集:ビルドを作成するときに、CMake はポップアップを表示しません。代わりに、変数をキャッシュに記憶します。通常の方法は、さまざまな機能を備えたさまざまなビルドを作成することです。つまり、すべての機能を備えたデバッグ モードのビルドと、最小限の機能セットのみを備えたリリース モードの別のビルドを作成できます。

于 2012-08-03T15:02:18.123 に答える