【发布时间】: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