Tôi đang cố gắng xây dựng một phần mở rộng python DLL trên máy 64 bit Win7 bằng cách sử dụng Cygwin (như Cygwin chỉ chạy dưới dạng quá trình 32 bit, đây thực sự là biên dịch chéo).Xây dựng 64bit libpython27.a bằng cách sử dụng cygwin, dlltool
Tôi tạo ra libpython27.a bản thân mình từ python27.dll sử dụng dlltool (như đã giải thích, ví dụ, here), nhưng việc xây dựng thất bại trong giai đoạn mối liên kết nói
skipping incompatible c:\Python27\libs/libpython27.a when searching for -lpython27
Đây chính là lỗi báo cáo here (nơi anh ta đã chuyển sang trình biên dịch MSVC ...). Thông tin
thêm:
- Active Python 2.7.2, win64, x64
- phiên bản mới nhất của Cygwin, sử dụng trình biên dịch /usr/bin/x86_64-w64-mingw32-g++.exe
Liệu bất cứ ai biết nếu điều này được hỗ trợ?
Có cách nào để sử dụng dlltool mà tôi bỏ lỡ ở đây không?
(tôi đã tìm thấy here hướng dẫn sử dụng
dlltool --as-flags=--64 -m i386:x86-64 -k -l libpython27.a -d python.def
nhưng khi làm như vậy tôi đã "invalid bfd target"
lỗi từ dlltool)
Cảm ơn!
Cập nhật: Tôi tin rằng nó có thể được thực hiện vì Enthought python chứa tệp như vậy. Tôi muốn tạo một bản cho các bản phân phối phổ biến hơn không chứa nó.
Vâng, nếu chúng tôi biết về cờ, nó sẽ không phải là _secret_ bây giờ phải không? – brc