【问题标题】:Running Python from C++ (VS2010, compiler v100)从 C++ 运行 Python(VS2010,编译器 v100)
【发布时间】:2013-09-26 14:20:07
【问题描述】:

我这里有一些代码,我们过去常常使用这些代码从我们的(非常大的)应用程序中调用 Python 脚本。当我们使用VS2008(编译器v90)时它工作得很好,这是python27的默认版本编译的。

去年我们将应用程序升级到VS2010,我正在寻找更新调用 Python 的 dll,认为这将是一个上午的工作。不幸的是,在与链接器和缺少 dll 斗争多年后,我的大多数同事都同意我们的应用程序和 python27.dll 使用的是不兼容的 Windows CRT 版本。

我认为找到使用VS2010 (v100) 编译的python27.dll 版本(或者确实可以使用另一个版本)会很简单——但我不能。

有没有办法从VS2010 编译的应用程序调用 Python 脚本?

【问题讨论】:

    标签: c++ python visual-studio-2010 crt msvcr90.dll


    【解决方案1】:

    答案可能是:下载 python 源 - 编译自定义 python.dll 并链接。

    【讨论】:

    • 我真的希望这不会是答案。所以其他从 C++ 运行 Python 的人都在使用与 Python 碰巧选择的编译器相同的编译器?
    • @MikeSadler 使用 Linux 很容易(我不在乎),抱歉 ;-)
    • 我不得不接受这是正确的解决方案。供其他人参考: 1) 下载相应的压缩包 2) 找到文件夹“PCBuild” 3) 将 pcbuild.sln 升级到最新版本的 Visual Studio。值得称赞的是 Python 作者和 MS,这似乎是开箱即用的。
    【解决方案2】:

    我也有同样的问题。解决方案确实是从源代码构建 python。但是有一个很大的缺点:您从 Internet 下载的为 Windows 预构建的所有额外的第 3 方 python 模块都不起作用!这是因为所有这些模块都将使用 VS 2008 预构建,并且您再次遇到不兼容的运行时的麻烦。解决方案是所有这些额外的模块都需要从源代码再次重建,但在所有情况下任务都不容易。这些模块通常在VS2008 中进行测试,尝试使用VS2010 运行它们会遇到很多麻烦。我主要是通过MySQLMSSQL 等的数据库连接器获得的。

    【讨论】:

    • 是的 - 对不起,我忘了提!我实际上只需要基本库,所以我没有费心编译所有的 3rd 方库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多