我设法使用 VC 2017 编译器和我自己的 make 文件将模块处理为 Python2 pymqe.c
。pymqe.pyd
不幸的是,它不适用于 Python3。如果我尝试以相同的方式编译模块pymqe.c
,pymqi-1.9.3.tar.gz
则链接步骤将失败并显示错误消息:
LINK : error LNK2001: unresolved external symbol initpymq pymqe.lib : fatal error LNK1120: 1 unresolved externals
我的 make 文件包含以下将 pymqe.c 与生成的库链接的指令pymqe.pyd
:
/EXPORT:initpymqe pymqe.obj
我假设,由于模块源代码中的预编译器指令,函数 initpymqe 在 Python3 的编译过程中被排除在外pymqe.c
:
#if PY_MAJOR_VERSION==2
void initpymqe(void) {
…
#else
有谁知道,如何处理这个问题?