Чи варто створити (C ++ або C #) програми для консольних вікон всередині IDE Ubuntu (наприклад, Anjuta) та компілювати його для Windows?
Чи варто створити (C ++ або C #) програми для консольних вікон всередині IDE Ubuntu (наприклад, Anjuta) та компілювати його для Windows?
Відповіді:
Ви хочете зробити перехресне компілювання, що є способом компіляції коду для інших платформ, крім тієї, на якій ви працюєте, особливо коли процесор зовсім інший. В основному вам потрібно встановити всі заголовки для вашої цілі (тобто windows), а потім сказати компілятору, що це перехресне компіляція, щоб він не робив деякі перевірки системи, а натомість вказував на нестандартні каталоги.
Залежно від мови, можливо, вам буде корисно робити пошук або запитувати конкретно, або якщо ви робите базовий c, ви можете використовувати інструменти MinGW та ті ж інструменти компіляції на основі Linux, які використовують gcc:
sudo apt-get install gcc-mingw32
Існує хороший посібник для крос-компіляції qt / win32 за допомогою інструментів MinGW .
Ви повинні подивитися на MingW . Він пропонує компілятор, сумісний з gcc, для Windows.
Існує міжплатформна версія, яку ви можете використовувати з Linux для створення бінарних файлів Windows. Ви можете встановити його за допомогою синаптичного або запустивши:
sudo apt-get install gcc-mingw32
На основі цього та за допомогою звичайної команди 'make' ви можете створювати програми для Windows.
Тоді будь-який IDE, що дозволяє використовувати make і gcc, може використовувати цей компілятор. Наприклад, ось як це зробити за допомогою ID: Blocks IDE .
Інші відповіді правильні для коду C / C ++; вам потрібно буде придбати крос-компілятор.
Для коду C # ви можете просто використовувати Monodevelop , оскільки компілятор Mono виробляє той самий тип байт-коду та виконуваний формат, що і компілятор .NET (і навпаки). Програми, які ви створюєте за допомогою Mono, працюватимуть без змін на машинах Windows до тих пір, поки ви залишаєтесь у межах стандартних бібліотек .NET Base Class або в комплекті будь-якої додаткової бібліотеки, яку ви використовуєте зі своїм додатком.
Ви можете спробувати Qt з Qt Creator спробувати. Відмінна основа для GUI та консольних додатків, яку ви можете компілювати для Windows, Linux та OS X.
Найпоширеніший спосіб програмування програми Windows Linux (ubuntu) - це використання інструментів mingw:
Існують пакети ubuntu для готових до встановлення mingw.
З цієї сторінки :
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, але це вимагає зміни способу обробки рядків.