我想在一個使用cygwin的64位Win7機器上構建一個python擴展DLL(因爲cygwin只能作爲32位進程運行,實際上是交叉編譯)。建立64位libpython27.a使用cygwin,dlltool
我使用dlltool(作爲解釋,例如,here)libpython27.a自己創造了從python27.dll,但在連接階段構建失敗說
skipping incompatible c:\Python27\libs/libpython27.a when searching for -lpython27
這正是錯誤報告here(其中傢伙最終轉移到MSVC編譯器...)。
更多信息:
- 活躍的Python 2.7.2,Win64的,64
- cygwin的最新版本,使用/usr/bin/x86_64-w64-mingw32-g++.exe編譯
不任何人都知道這是否被支持?
有沒有辦法使用我在這裏錯過的dlltool?
(我沒發現here指導使用
dlltool --as-flags=--64 -m i386:x86-64 -k -l libpython27.a -d python.def
但這樣做的時候,我從dlltool "invalid bfd target"
錯誤)
謝謝!
更新:我相信可以這樣做,因爲Enthought python包含這樣的文件。我想創建一個不包含它的更常見發行版。
那麼如果我們知道這個標誌,它現在不會是_secret_了嗎? – brc