swig を使用して、独立したクラスの Java バインディングを生成しました。ただし、非常に複雑な既存のコードベースに対してそれを実行しようとすると、 STL 、 OSG 、および OpenGL の呼び出しがありました。私がスウィグしようとすると、問題が発生します。ここに私の.iファイルがあります
/* File : Line.i */
%module Line
%{
#include "Elements/LineFeatureObject.h"
%}
/* Let's just grab the original header file here */
%include "Elements/LineFeatureObject.h
このヘッダーには、他のいくつかのヘッダー ファイルが含まれています。それらのいくつかはコードによって読み取られますが、次の警告が表示されるものもあります。警告 401: 基本クラス 'ELEMENTS::ILineAlgebra' については不明です。無視されました。これらのクラスは、残りのクラスと同じ場所にリストされています。したがって、これらのクラスのいくつかだけで何が問題になるのかわかりません。
先に進むと、_wrap.cxx を取得できますが、コンパイル時に次のエラーが発生します。エラー C4430: 型指定子がありません - int と見なされます。注: C++ は default-int エラー C2144 をサポートしていません: 構文エラー: 'void' の前に ';' を付ける必要があります エラー C2086: 'int WINGDIAPI': 再定義 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\GL/gl.h(1152): 'WINGDIAPI' の宣言を参照してください。. .
それらのすべてをここにリストしていません。これらのエラーを回避する方法を教えてください。