SWIG を使用してDCMTKライブラリ (C++ で記述)の C# ラッパーを作成したいと考えています。DCMTKの完全なソース コードがありますが、解決できない問題が 1 つあります...
SWIG のスクリプトは次のようになります。
#ifndef WRAPPER_SWIG_I
# define WRAPPER_SWIG_I
%{
%}
%include "include/dcmtk/dcmjpeg/ddpiimpl.h"
%include "include/dcmtk/dcmjpeg/dipijpeg.h"
%include "include/dcmtk/dcmjpeg/djcodecd.h"
#endif
次に、コマンド ラインから SWIG を実行します。
swig -includeall -Wall -c++ -csharp -outdir $(SolutionDir)\dcmjpegcsharp\ -module dcmjpeg -namespace dcmjpeg dcmjpeg.i
...そして、ヘッダーファイルが見つからないという多くのエラーがスローされます(スクリプトにリストされているこれらの中に含まれています)。たとえば、ヘッダー ファイル「include/dcmtk/dcmjpeg/ddpiimpl.h」は、まったく別の場所にあるファイル「dcmtk/config/osconfig.h」をインクルードしています。
問題は、 DCMTKライブラリのソース コード内の C++ ヘッダー ファイルが複数のフォルダーに散らばっており、それらが「相互に認識されない」ことです。そのための簡単な解決策はありますか?DCMTK ソースのルート ディレクトリにあるヘッダー ファイルを SWIG に自動的かつ再帰的に検索させるにはどうすればよいでしょうか。