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