Uri*_*hen 5 python cygwin win64 mingw cross-compiling
我正在尝试使用cygwin在64位Win7机器上构建一个python扩展DLL(因为cygwin只运行32位进程,这实际上是交叉编译).
我自己使用dlltool从python27.dll创建了libpython27.a(例如,在这里解释),但是在链接器阶段构建失败说
skipping incompatible c:\Python27\libs/libpython27.a when searching for -lpython27
这正是这里报告的错误(那里的人最终转向MSVC编译器.. ).
更多信息:
- Active Python 2.7.2,win64,x64
- 最新版本的cygwin,使用/usr/bin/x86_64-w64-mingw32-g++.exe编译器
有谁知道这是否支持?
有没有办法使用我想念的dlltool?
(我确实在这里找到了使用的指导,
dlltool --as-flags=--64 -m i386:x86-64 -k -l libpython27.a -d python.def
但是当这样做时我"invalid bfd target"从dlltool 得到错误)
谢谢!
更新:我相信它可以完成,因为Enthought python包含这样的文件.我想为不包含它的更常见的发行版创建一个.
我不确定您觉得这有多大帮助,但在您链接到的页面底部有一个指向此处的链接- 上面写着:
不要使用 MinGW-w64。您将注意到,AMD64 版本的 Python 中省略了 Python 的 MinGW 导入库(例如 libpython27.a)。这是故意的。不要尝试使用 dlltool 来制作一个。 目前还没有正式的 MinGW-w64 版本,它仍处于“测试版”并且被认为不稳定,尽管您可以从 TDM-GCC 等获得 64 位版本。还存在 mingw 运行时与 MSVC 运行时冲突的问题;这可能会发生在您意想不到的地方,例如 g++ 或 gfortran 的运行时库内部。为了安全起见,暂时避免使用 MinGW-w64。
| 归档时间: |
|
| 查看次数: |
4093 次 |
| 最近记录: |