Tôi có một dự án mà tôi muốn biên dịch cho Windows. Tôi có makefile thích hợp, mọi thứ hoạt động với g ++. Tôi chạy apt-get install mingw32
, đã tải xuống gói 100 MB, nhưng tôi không thể tìm hiểu cách thực sự chạy nó. Không có mingw32
thực thi cũng như tôi không thể tìm thấy bất kỳ trợ giúp nào trên internet, vậy làm thế nào để tôi thực sự biên dịch với nó?Biên dịch chéo MinGW trên linux
Trả lời
Nếu bạn thấy ouput của dpkg -L mingw32
bạn có thể thấy rằng gói chứa chuỗi công cụ tức là một bộ công cụ thay thế (trình biên dịch, liên kết, v.v.) hữu ích để biên dịch mã của bạn trong hệ thống khác.
Bạn phải sử dụng /usr/bin/i586-mingw32msvc-g++
để biên dịch mã của mình. Nếu tôi nhớ chính xác tồn tại một biến để nói cho Makefile sử dụng một chuỗi công cụ như thế.
Không có biến cho toolchain, nhưng bạn có thể thiết lập các biến cho trình biên dịch C và C++: CC và CXX tương ứng. –
Một tùy chọn khác là xem xét Môi trường ngang Mingw (MXE), đặc biệt nhắm mục tiêu theo biên dịch chéo từ Linux sang Windows (và gần đây với Mac). Các gói phần mềm đã bult-in xupport cho một số lượng lớn các thư viện và đang tích cực được phát triển. Chỉ cần nhìn vào trang web để tìm hiểu xem nó có phù hợp với nhu cầu của bạn không.
Nhân tiện, bạn nên sử dụng phát triển thay vì phiên bản phát hành. Điều này là do các phiên bản phát hành thường lỗi thời rất nhanh, do các nhà cung cấp gói (của các thư viện) thay đổi các URL dẫn đến phiên bản phát hành MXE bị hỏng. Phiên bản phát triển thường được cập nhật hơn.
Không có đề cập gì về Mac trên trang web? Điều này có vẻ khá gọn gàng, tôi mới này, vì vậy tôi đoán công cụ của bạn tạo ra "biên dịch chéo" đầu tiên, và sau đó tôi chỉ cần sử dụng toolchain tạo của bạn để biên dịch mọi thứ. – CMCDragonkai
Vâng, nó không phải là "của tôi", nhưng đó là khá nhiều những gì nó làm. Không chắc chắn về trạng thái hiện tại liên quan đến hỗ trợ Mac (Tôi đã không sử dụng mxe trong một thời gian). Nó đã được đề cập trong quá khứ mà họ đã làm việc trên hỗ trợ, nhưng tôi không có ý tưởng nếu nó thực sự được thực hiện. – Bart
Tôi sử dụng này để vượt qua biên dịch postgres:
$ sudo apt-get install mingw-w64
$ ./configure --host=i686-w64-mingw32 --without-zlib # 32 bit
# or --host=x86_64-w64-mingw32 64 bit
ref here
dự án khác làm điều đó khác nhau, như ffmpeg:
./configure --target-os=mingw32 --cross-prefix=i686-w64-mingw32-
hoặc một số
./configure CC=i686-w64-mingw32-gcc ...
vv GL!
- 1. Biên dịch chéo trên Windows và Linux
- 2. Trình biên dịch chéo Delphi cho linux
- 3. Biên dịch OpenCL trên Mingw Nvidia SDK
- 4. Tìm các tệp DLL được yêu cầu của exe Win trên Linux (được biên dịch chéo với mingw)?
- 5. Biên dịch OpenCV với CMake và minGW
- 6. biên dịch trên windows và linux
- 7. Lỗi biên dịch bằng bfd.h trên Linux
- 8. Biên dịch chéo cho hệ thống Linux dựa trên ARM nhúng
- 9. Biên dịch chéo với SBCL
- 10. Biên dịch chéo cho ARM Với Autoconf
- 11. Biên dịch chéo: GCC bỏ qua --sysroot
- 12. biên dịch chéo là gì?
- 13. Sử dụng libs/dlls biên soạn trong Linux/MinGW trong Visual Studio
- 14. Biên dịch C# + WPF trên Linux để chạy trên Windows
- 15. Có thể thiết lập trình biên dịch chéo gcc trên Linux để biên dịch các mục tiêu 64 bit trên kiến trúc 32 bit không?
- 16. Biên dịch nhị phân 64 bit với MinGW (Dev-C++)
- 17. Các cửa sổ biên dịch chéo 64 bit .exe từ linux
- 18. __uint128_t trên mingw gcc
- 19. Tăng kích thước ngăn xếp khi biên dịch với mingw?
- 20. Lỗi khi biên dịch OpenSSL với MinGW/MSYS
- 21. Cách biên dịch và sử dụng GLib với MinGW
- 22. Biên dịch lắp ráp intel với gcc/mingw
- 23. OpenGL + Mesa 3D + MinGW
- 24. Biên dịch nền tảng chéo Asterisk
- 25. Xây dựng trình biên dịch chéo GCC (từ "Linux" sang "Windows")
- 26. Có thể biên dịch VST trên Linux không?
- 27. Làm cách nào để biên dịch mã objc trên Linux?
- 28. Trình biên dịch Ada cho Linux
- 29. Làm cách nào để định cấu hình Qt cho việc biên dịch chéo từ Linux sang Windows?
- 30. Làm thế nào để biên dịch chéo Git cho ARM?
Nếu bạn chạy lệnh sau từ thiết bị đầu cuối, nó sẽ cho bạn biết tệp thực thi của trình biên dịch (g ++ trong trường hợp ví dụ này). Sau đó, bạn có thể chỉnh sửa makefile của mình một cách thích hợp. "xác định vị trí mingw | grep g ++" – thedaver64
Có phải 'Makefile' được tạo bằng cách sử dụng các autotools không? – gipi
@gipi Tôi thành thật không thể nhớ, tôi sử dụng cmake cho các dự án của mình. – thedaver64