如何刷我的整个c++;Java的代码库

如何刷我的整个c++;Java的代码库,java,swig,Java,Swig,我使用swig为独立类生成java绑定。然而,当我试图为我现有的代码库做这件事时,代码库非常复杂,需要调用STL、OSG和OpenGL。当我尝试游泳的时候,我会遇到问题。 这是我的档案 /* File : Line.i */ %module Line %{ #include "Elements/LineFeatureObject.h" %} /* Let's just grab the original header file here */ %include "Elements/LineF

我使用swig为独立类生成java绑定。然而,当我试图为我现有的代码库做这件事时,代码库非常复杂,需要调用STL、OSG和OpenGL。当我尝试游泳的时候,我会遇到问题。 这是我的档案

/* 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++不支持默认int 错误C2144:语法错误:“void”前面应加“;” 错误C2086:“int wingdipi”:重新定义 C:\ProgramFiles(x86)\Microsoft SDK\Windows\v7.0A\include\GL/GL.h(1152):请参见“Wingdipi”的声明 . .

我还没有在这里列出所有的。
您能帮我找到解决这些错误的方法吗。

默认情况下,SWIG只处理名为
%include
的顶级文件。它不会递归到其他
#include
文件中。您必须明确地
%包括希望SWIG处理的头文件

SWIG对STL也一无所知,但是有一些SWIG头可以添加对STL类型的支持,比如
std::string
std::vector
。STL模板必须显式实例化并指定目标语言名称:示例:

%include <std_string.i>
%include <std_vector.i>
%template(IntVector) std::vector<int>;

默认情况下,SWIG仅处理名为
%include
的顶级文件。它不会递归到其他
#include
文件中。您必须明确地
%包括希望SWIG处理的头文件

SWIG对STL也一无所知,但是有一些SWIG头可以添加对STL类型的支持,比如
std::string
std::vector
。STL模板必须显式实例化并指定目标语言名称:示例:

%include <std_string.i>
%include <std_vector.i>
%template(IntVector) std::vector<int>;