Làm thế nào để lập trình cho Windows trong Ubuntu?


24

Có cách nào để tạo các ứng dụng bảng điều khiển windows (C ++ hoặc C #) bên trong IDE của Ubuntu (ví dụ Anjuta) và biên dịch nó cho Windows không?


1
mingw là sự lựa chọn rõ ràng để biên dịch chéo, nhưng tôi không biết làm thế nào để tích hợp nó với Anjunta. Tôi đã thấy một hướng dẫn về việc tích hợp mingw và kdevelop tại đây: forum.gentoo.org/viewtopic-t-292180.html có thể một trong những người khuyên mingw biết về việc tích hợp với hướng dẫn Anjunta?
RobotHumans

Câu trả lời:


21

Bạn muốn thực hiện biên dịch chéo, đây là một cách để biên dịch mã cho các nền tảng khác với nền tảng của bạn, đặc biệt là khi bộ xử lý hoàn toàn khác nhau. Về cơ bản, bạn cần cài đặt tất cả các tiêu đề cho mục tiêu của mình (tức là các cửa sổ) và sau đó báo cho trình biên dịch nó biên dịch chéo để nó không thực hiện một số kiểm tra hệ thống và thay vào đó sẽ trỏ đến các thư mục không chuẩn.

Tùy thuộc vào ngôn ngữ mà bạn có thể thấy hữu ích khi thực hiện tìm kiếm hoặc câu hỏi cụ thể hoặc nếu bạn đang làm cơ bản c, bạn có thể sử dụng các công cụ MinGW và cùng loại công cụ biên dịch dựa trên linux sử dụng gcc:

sudo apt-get install gcc-mingw32

một hướng dẫn tốt để biên dịch chéo qt / win32 bằng các công cụ MinGW .


12

Bạn nên có một cái nhìn tại MingW . Nó cung cấp một trình biên dịch tương thích gcc cho windows.

Có một phiên bản đa nền tảng mà bạn có thể sử dụng từ Linux, để tạo các tệp nhị phân của Windows. Bạn có thể cài đặt nó với synaptic hoặc bằng cách chạy:

sudo apt-get install gcc-mingw32

Dựa vào đó và bằng cách sử dụng lệnh 'make' thông thường, bạn có thể tạo các chương trình cho windows.

Sau đó, bất kỳ IDE nào cho phép bạn sử dụng make và gcc đều có thể sử dụng trình biên dịch này. Chẳng hạn, đây là cách thực hiện điều đó từ Code :: Blocks IDE .


đủ tốt cho tôi +1
RobotHumans

7

Các câu trả lời khác là chính xác cho mã C / C ++; bạn sẽ cần phải có một trình biên dịch chéo.

Đối với mã C #, bạn chỉ có thể sử dụng Monodevelop Cài đặt Monodevelop , vì trình biên dịch của Mono tạo ra cùng loại mã byte và định dạng thực thi như trình biên dịch .NET (và ngược lại visa). Các ứng dụng bạn xây dựng với Mono sẽ chạy không được sửa đổi trên các máy Windows miễn là bạn ở trong Thư viện lớp cơ sở .NET tiêu chuẩn hoặc gói bất kỳ thư viện bổ sung nào bạn sử dụng với ứng dụng của mình.



2

Cách phổ biến nhất để lập trình ứng dụng windows linux (ubfox) là sử dụng các công cụ mingw:

http://www.mingw.org/

Có các gói Ubuntu cho mingw sẵn sàng để cài đặt.


2

Từ trang này :

sudo apt-get install wine mingw32 mingw32-binutils mingw32-runtime

Đây là tất cả những gì cần thiết cho việc biên dịch chéo cơ bản. Hãy thử:

#include <windows.h>

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
{
  MessageBox(NULL,
    "Cette fenêtre prouve que le cross-compilateur est fonctionnel !",
    "Hello World", MB_OK);
  return 0;
}

Biên dịch cái này bằng cách sử dụng:

i586-mingw32msvc-g++ -o essai.exe essai.cpp

Để thực thi, bạn cần thư viện mingw: mingwm10.dll:

gunzip -c /usr/share/doc/mingw32-runtime/mingwm10.dll.gz > mingwm10.dll

Sau đó, bạn có thể khởi chạy nó:

wine essai.exe

Văn bản của hộp thoại bằng tiếng Pháp có dấu, để làm điều đó với gvim, chuyển đổi nguồn sang mã cửa sổ trang 1252 :<ESC>:e ++enc=cp1252

Một giải pháp khác, mạnh mẽ hơn là sử dụng UTF-8 nhưng điều này đòi hỏi phải thay đổi cách xử lý chuỗi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.