Як програмувати для Windows в Ubuntu?


24

Чи варто створити (C ++ або C #) програми для консольних вікон всередині IDE Ubuntu (наприклад, Anjuta) та компілювати його для Windows?


1
mingw - це очевидний вибір для перехресного складання, але я не маю уявлення, як інтегрувати його з Anjunta. Я бачив підручник з інтеграції mingw та kdevelop тут: forums.gentoo.org/viewtopic-t-292180.html можливо, хтось із людей, які рекомендують mingw, знає інтеграцію з підручником Anjunta?
RobotHumans

Відповіді:


21

Ви хочете зробити перехресне компілювання, що є способом компіляції коду для інших платформ, крім тієї, на якій ви працюєте, особливо коли процесор зовсім інший. В основному вам потрібно встановити всі заголовки для вашої цілі (тобто windows), а потім сказати компілятору, що це перехресне компіляція, щоб він не робив деякі перевірки системи, а натомість вказував на нестандартні каталоги.

Залежно від мови, можливо, вам буде корисно робити пошук або запитувати конкретно, або якщо ви робите базовий c, ви можете використовувати інструменти MinGW та ті ж інструменти компіляції на основі Linux, які використовують gcc:

sudo apt-get install gcc-mingw32

Існує хороший посібник для крос-компіляції qt / win32 за допомогою інструментів MinGW .


12

Ви повинні подивитися на MingW . Він пропонує компілятор, сумісний з gcc, для Windows.

Існує міжплатформна версія, яку ви можете використовувати з Linux для створення бінарних файлів Windows. Ви можете встановити його за допомогою синаптичного або запустивши:

sudo apt-get install gcc-mingw32

На основі цього та за допомогою звичайної команди 'make' ви можете створювати програми для Windows.

Тоді будь-який IDE, що дозволяє використовувати make і gcc, може використовувати цей компілятор. Наприклад, ось як це зробити за допомогою ID: Blocks IDE .


досить добре для мене +1
RobotHumans

7

Інші відповіді правильні для коду C / C ++; вам потрібно буде придбати крос-компілятор.

Для коду C # ви можете просто використовувати Monodevelop Встановіть Monodevelop , оскільки компілятор Mono виробляє той самий тип байт-коду та виконуваний формат, що і компілятор .NET (і навпаки). Програми, які ви створюєте за допомогою Mono, працюватимуть без змін на машинах Windows до тих пір, поки ви залишаєтесь у межах стандартних бібліотек .NET Base Class або в комплекті будь-якої додаткової бібліотеки, яку ви використовуєте зі своїм додатком.


5

Ви можете спробувати Qt з Qt Creator спробувати. Відмінна основа для GUI та консольних додатків, яку ви можете компілювати для Windows, Linux та OS X.

http://qt.nokia.com/


2

Найпоширеніший спосіб програмування програми Windows Linux (ubuntu) - це використання інструментів mingw:

http://www.mingw.org/

Існують пакети ubuntu для готових до встановлення mingw.


2

З цієї сторінки :

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

Це все, що потрібно для базової перехресної компіляції. Спробуймо:

#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;
}

Скомпілюйте це за допомогою:

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

Щоб виконати, вам потрібна бібліотека mingw: mingwm10.dll:

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

Тоді ви можете запустити його:

wine essai.exe

Текст діалогового вікна є французькою мовою з наголосом, щоб зробити це з gvim, перетворіть джерело на сторінку коду Windows 1252 :<ESC>:e ++enc=cp1252

Іншим більш потужним рішенням є використання UTF-8, але це вимагає зміни способу обробки рядків.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.