Может ли swig + golang обработать параметр std :: string out?

Я пытаюсь подключить проект go к C ++ lib, используя SWIG. У меня большинство вещей работает, но есть одна функция, которая принимает C ++ std :: string в качестве параметра и присваивает ему значение, и я не смог заставить это работать.

Самая близкая вещь, которую я нашел онлайн, является этим вопросом: Строковые параметры

Это не то же самое, так как требуется const std::string &и SWIG переводит это в строку go.

Моя функция выглядит примерно так:

bool foo(std::string &result);

SWIG преобразует это в func Foo(result *string) boolean

Это компилирует и строит, но если я передам указатель на строку go, он паникует.

var result string
Foo(&result)

Я был в состоянии заставить foo () возвращать std :: string, который SWIG, кажется, делает работу со строкой go очень хорошо. Тем не менее, я теряю возвращаемое значение в этом случае.

Я использую Голанг 1.7, Swig 3.0.10

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]