2016-09-22 19 views
1

DelphiとC++(Visual Studio)プロジェクト間で共通のシンボル定義を共有するためのエレガントな方法はありますか?DelphiプロジェクトとC++プロジェクトの共通定義を共有

シンボルは、状況によっては定義されている場合と定義されていない場合があります。明らかに両方のプロジェクトでシンボルを定義することは可能ですが、1つのプロジェクトでそのシンボルをコメントアウトし、他のプロジェクトではそれを忘れることがあります(またはその逆)。

可能であれば、シンボルを.hまたは.incファイルに入れて両方のプロジェクトに含める必要があると思います。上記のコードで

// Delphi 
{$DEFINE COMMON_SYMBOL} 
//... 
SOME_CONSTANT = {$IFDEF COMMON_SYMBOL} 80 {$ELSE} 40 {$ENDIF}; 

// C++ 
#define COMMON_SYMBOL 
//... 
#ifdef COMMON_SYMBOL 
    #define SOME_CONSTANT 80 
#else 
    #define SOME_CONSTANT 40 
#endif 

COMMON_SYMBOLが定義されている場合、その後、SOME_CONSTANTは、それ以外の場合はここに助けるかもしれないいくつかのリンク40

+0

両方のプロジェクトで同時に共有される特定の値を持つSOME_CONSTANTを一度に定義すれば十分でしょうか?これは簡単です...しかし、プリプロセッサ自体を介してプリプロセッサのシンボルを条件付きで定義することはできません –

+0

2つのコンパイラとIDEが全く異なる(EmbarcaderoとMicrosoft)ため、どのように動作するのかよくわかりません。 – AlainD

+0

Uhm ...これは違うベンダーではないので、これは難しいことです。 2つの異なるプログラミング言語**を扱っていることは事実です。同じベンダーのコンパイラを使用している場合でも、C++とF#の間でコードを共有するときに同じ問題が発生します。 – IInspectable

答えて

1

で、80:あなたが変換する必要がある場合

  • C++ヘッダファイルをに、デルファイをお試しください。JEDI API Library
  • あなたは、このようなユーティリティを自分で作成する必要がありC++のヘッダファイルにデルファイソースを変換する必要がある場合。私はDelphiASTがそれのための良いスタートかもしれないと思う。
関連する問題