本文介绍了python_x64 + C库与Windows7的Py_InitModule4 mingw_x64编译的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图编译C库为Python使用的MinGW-64的Windows7(64位)。
它的所有工作就像32位版本的魅力。
我用来编译我的库
GCC -shared -IC:\\ Python27 \\包括-LC:\\ Python27 \\库mymodule.c的-lpython27 -o myModule.pyd
,并将其与32位版本的工作。同样的过程正在与64位Linux。
但在64位的windows7(使用64位的x86_64-W64-的mingw32和64位蟒蛇2.7.5)我有一个问题:
C:\\用户\\谢尔盖\\应用程序数据\\本地的\\ Temp \\ cci8TbXw.o:mymodule.c的文字:( + 0x267):
未定义的引用`__imp_Py_InitModule4
collect2:劳工处返回1退出状态
我检查C:/Python27/libs/modsupport.h,它已经包含
#如果SIZEOF_SIZE_T!= SIZEOF_INT
/ *在64位系统,重命名Py_InitModule4让2.4
模块不能得到加载到2.5间preTER * /
#定义Py_InitModule4 Py_InitModule4_64
#万一
我目前的想法做什么。任何建议?
在C code是不是这里的问题。我有一个例子来自同样的问题
注 - 错字在第26行下面的例子:应该是VARARGS
和是 - 我没有发现(类似于How我可以在Python的MinGW-W64建立我的C扩展?问题),我可以通过添加-DMS_WIN64到GCC编译行这个简单的例子,但我仍然在我的真正的程序得到了类似的错误(这表明有更多的它)
未定义的参考`__imp_PyArg_ParseTuple
未定义的引用`__imp_Py_BuildValue
未定义的引用`__imp_Py_InitModule4_64
解决方案
抄袭为了注释的答案,从未答复的滤镜移除了这个问题:
~ answer per Sergej Srepfler
这篇关于python_x64 + C库与Windows7的Py_InitModule4 mingw_x64编译的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!