【问题标题】:Cython static link with python runtime?Cython 与 python 运行时的静态链接?
【发布时间】:2011-11-27 23:32:15
【问题描述】:

我有一个用于 python 2.7 的 Python 脚本,这样说:

print("Hello World!")

接下来我将其转换为 C 使用:

python cython.py --embed helloworld.py

然后我尝试静态编译它:

gcc -IC:\Python27\include -LC:\Python27\libs helloworld.c -Wl,-Bstatic -lpython27
  -Wl,-Bdynamic

但是 gcc 只是创建了一个使用 python27.dll 运行时的二进制文件。如何创建静态链接到运行时的二进制文件?

【问题讨论】:

  • 你不能,你需要一个用 gcc 编译的静态 libpython27.a,目前无法构建(或至少正式),在 activestate 分发中你有 python27.lib 在 \libs 子目录中,但它链接动态,我刚刚看过这个code.google.com/p/pts-mini-gpl/wiki/StaticPython,但不支持windows(显然)
  • 即使使用Visual Studio,这也可能很麻烦,几天前我一直在问一个类似的问题:stackoverflow.com/questions/8194489/…

标签: python windows mingw static-linking cython


【解决方案1】:

如果您在 Linux 或 OS X 上工作,您可以使用 my engine's 构建器工具 Schafer,它具有“裸”模式,仅静态构建 Python(适用于所有支持的平台,包括 Windows),以及几个标准模块,它还将“cythonize”并将您的源代码嵌入其中。如果这不符合您的要求,您仍然可以从source 获得有关如何完成您想要完成的任务的想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 2013-08-31
    • 2011-12-30
    • 1970-01-01
    • 2010-12-31
    相关资源
    最近更新 更多