是否可以从c++ /CLI混合代码中调用IronPython ?

visual Is it possible to call IronPython from mixed C++/CLI code?

本文关键字:代码 调用 IronPython 混合 CLI c++ 是否      更新时间:2023-10-16

我有一个本地C/c++项目(MSVC2010),它需要访问IronPython脚本。我能够使用这篇博文来包含c++/CLI代码。但是,当我添加这样的代码时:

    ScriptEngine^ engine = Python::CreateEngine();
    ScriptScope^ scope = engine->CreateScope();

(取自http://oldschooldotnet.blogspot.co.uk/2011/04/scripting-ccli-with-ironpython-visual.html),编译器抱怨它找不到ScriptEngine。我应该包括什么?IronPython类实际上可用于c++/CLI吗?

您需要确保您的项目有适当的引用。这将包括Microsoft.Scripting.DllMicrosoft.Dynamic.dll(以及System.Core.dll)。

这样做之后,还需要添加适当的名称空间using语句:

using namespace IronPython;
using namespace IronPython::Hosting;
using namespace IronPython::Runtime;
using namespace Microsoft::Scripting;
using namespace Microsoft::Scripting::Hosting;