Я хочу сгенерировать файл оболочки для Java из заголовочного файла c ++, который использует пространство имен std, а также включает некоторые библиотеки.Когда я пытался запустить swig, он выдает синтаксическую ошибку, в которой говорится, что точка с запятой отсутствует, даже если мой заголовочный файл взят из большой базы кода, и он компилируется и работает отлично.
Я попытался включить строку «Использование пространства имен».std "в файле .i, который требуется swig, а также включая библиотеки, подобные той, что была включена в файл .h, но такая же ошибка все еще существует.
Это мой файл AdaptationPlanner.h
// some code ...
#include <string>
#include <vector>
#include <set>
using namespace std; //line 68
// more code ...
А вот мой файл AdaptationPlanner.i
/* AdaptationPlanner.i */
%module AdaptationPlanner
%{
/* Includes the header in the wrapper code */
#include "AdaptationPlanner.h"
%}
/* Parse the header file to generate wrappers */
%include "AdaptationPlanner.h"
А вот сообщение об ошибке, которое дает swig:
AdaptationPlanner.h:68: Error: Syntax error - possibly a missing semicolon.