Cygwin có cho phép nhị phân được biên dịch tĩnh không? Điều này sẽ ngăn chặn sự cần thiết của cygwin1.dll nằm trên PATH của các máy mục tiêu.Bạn có thể biên dịch tĩnh một ứng dụng Cygwin không?
20
A
Trả lời
18
Không, hiện tại không thể liên kết tĩnh với cygwin1.dll; nếu ứng dụng của bạn không sử dụng mô phỏng unix (ví dụ: win32 thuần túy), bạn có thể chuyển -mno-cygwin tới trình biên dịch.
cũng xem FAQ:
http://cygwin.com/faq/faq.html#faq.programming.win32-no-cygwin
http://cygwin.com/faq/faq.html#faq.programming.static-linking
9
Câu trả lời ở trên là đã lỗi thời. Cygwin GCC không còn hỗ trợ -mon-cygwin nữa, hãy thử sử dụng mingw-gcc thay vì Câu hỏi thường gặp được đề cập.
0
Đối với Cygwin với mingw32 cài đặt, dòng lệnh của bạn sẽ có dạng
x86_64-w64-mingw32-gcc.exe main.c -o main.exe
này bỏ qua nhu cầu cygwin1.dll hoàn toàn.
Điều này gần như hoạt động đối với tôi ngoại trừ việc tôi nhận được "lỗi nghiêm trọng: sys/dir.h: Không có tệp hoặc thư mục nào như vậy #include kết thúc biên soạn". Bất kỳ ý tưởng gì khác tôi cần phải đặt trên dòng lệnh? –
bugmagnet