Итак, я нашел это руководство для этого в C#
и он работал безупречно, очень, очень легко настроить. Теперь я пытаюсь сделать то же самое в C++/CLI
поскольку он только кодирует в C++/CLI
и это оказывается намного сложнее ..
Прежде всего, нет динамического ключевого слова в C++/CLI
поэтому перевод примера кода из этого руководства, похоже, не сработал. я нашел другой пример специально для C++/CLI
но на самом деле это больше не работает, я предполагаю, что это для старой версии IronPython. Поэтому мне действительно нужна помощь с простым способом запустить скрипт IPY изнутри C++/CLI
а затем, может быть, пример того, как представить объекты / методы для сценария.
Это должно быть возможно (я никогда не делал это с C ++ / CLI), но вам нужно просто сделать это старомодный, до .NET 4 способ (в C #):
ScriptEngine engine = Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
engine.Execute(fooScript, scope);
object foo = scope.GetVariable("foo");
object result = engine.Operations.Invoke(foo, 1, "a");
Посыпьте ^ там соответствующим образом, чтобы конвертировать C # в C ++ / CLI.
(fooScript, в этом случае, будет содержать что-то вроде:
def foo(a, b):
return str(a) + ", " + str(b)
)
Других решений пока нет …