代码之家  ›  专栏  ›  技术社区  ›  joeforker

distutils在编译Windows.dll时是否可以使用自定义的.def来公开额外的符号?

  •  0
  • joeforker  · 技术社区  · 16 年前

    这在Linux中运行良好,因为它自动导出共享库中的所有符号,但在Windows distutils中提供了 .def 只导出Python模块init函数。

    .定义 所以它会导出我需要的符号?

    1 回复  |  直到 16 年前
        1
  •  1
  •   fraca7    16 年前

    如果使用Mingw的GCC,可以将['-Wl,--export all symbols']作为额外的链接参数传递。在IDE的某个地方,可能有类似的Visual设置。

    只有当distutils选择使用“gcc-mdll”而不是“dllwrap”作为链接器时,这种方法才有效。如果您的ld版本高于2.10.90,则会这样做,如果您使用的是最新的Mingw,则应该是这种情况。一开始它对我不起作用,因为我使用的是python2.2,它有一个与版本解析相关的小错误:它需要3个点分隔的数字,所以如果ld版本是2.20,它会返回到dllwrap。。。