Организация классов Java, сгенерированных SWIG, в разные пакеты из одного файла интерфейсаC++

Программы на C++. Форум разработчиков
Anonymous
Организация классов Java, сгенерированных SWIG, в разные пакеты из одного файла интерфейса

Сообщение Anonymous »

В настоящее время я изучаю SWIG, чтобы упростить перенос трех заголовочных файлов C++ (file1.h, file2.h, file3.h). Я включил эти файлы заголовков в свой файл интерфейса SWIG с помощью директивы %include.

Код: Выделить всё

%include "file1.h"
%include "file2.h"
%include "file3.h"
Теперь я хочу организовать сгенерированные классы Java в разные пакеты, причем каждый пакет соответствует одному из файлов заголовков (file1.h, file2.h, file3.h). Для этого я попытался использовать директиву %module вместе с параметром package:

Код: Выделить всё

%module(package = "a.b.f1") f1_wrap
%include "file1.h"

%module(package = "a.b.f2") f2_wrap
%include "file2.h"

%module(package = "a.b.f3") f3_wrap
%include "file3.h"
Однако этот подход, похоже, не сработал должным образом. Сгенерированные файлы Java не содержали нужного объявления пакета (пакет "a.b.fxx").
Я обнаружил, что при использовании аргумента командной строки -package с SWIG работает, но требует разделения кода на три отдельных файла интерфейса SWIG (файлы .i), что не идеально подходит для организации моего проекта.
Есть ли способ получить желаемый пакет организации в одном файле интерфейса SWIG (файл .i)? Существует ли в SWIG эквивалентная директива или опция, позволяющая указывать имена пакетов непосредственно в файле интерфейса?

Подробнее здесь: https://stackoverflow.com/questions/784 ... single-int

Вернуться в «C++»