Behzadsh Asked: 2010-11-23 12:13:01 +0800 CST2010-11-23 12:13:01 +0800 CST 2010-11-23 12:13:01 +0800 CST 如何在 Ubuntu 中为 Windows 编程? 772 无论如何在 Ubuntu 的 IDE(例如 Anjuta)中创建(C++ 或 C#)Windows 控制台应用程序并为 Windows 编译它? programming windows ide 6 个回答 Voted Best Answer Martin Owens -doctormo- 2010-11-23T12:22:15+08:002010-11-23T12:22:15+08:00 您想要进行交叉编译,这是一种为您所在平台以外的平台编译代码的方法,尤其是在处理器完全不同的情况下。基本上你需要为你的目标(即windows)安装所有的头文件,然后告诉编译器它是交叉编译的,所以它不会做一些系统检查,而是指向非标准目录。 根据语言,您可能会发现专门进行搜索或提问很有用,或者如果您正在做基本的 c,您可以使用MinGW工具和使用 gcc 的相同类型的基于 linux 的编译工具: sudo apt-get install gcc-mingw32 使用 MinGW 工具进行 qt/win32 交叉编译有一个很好的指南。 Little Jawa 2010-11-23T12:23:03+08:002010-11-23T12:23:03+08:00 你应该看看MingW。它为 Windows 提供了一个与 gcc 兼容的编译器。 您可以在 Linux 中使用跨平台版本来生成 Windows 二进制文件。您可以使用突触安装它,或者运行: sudo apt-get install gcc-mingw32 在此基础上,使用通常的“make”命令,您可以为 Windows 创建程序。 那么任何允许你使用 make 和 gcc 的 IDE 都可以使用这个编译器。例如,下面是如何从 Code::Blocks IDE 执行此操作。 RAOF 2010-11-23T14:33:30+08:002010-11-23T14:33:30+08:00 其他答案对于 C/C++ 代码是正确的;你需要一个交叉编译器。 对于 C# 代码,您可以只使用Monodevelop ,因为 Mono 的编译器生成与 .NET 编译器相同类型的字节码和可执行格式(反之亦然)。只要您保留在标准 .NET 基类库中或捆绑您在应用程序中使用的任何额外库,您使用 Mono 构建的应用程序将无需修改即可在 Windows 机器上运行。 SiliconChaos 2010-11-24T01:27:45+08:002010-11-24T01:27:45+08:00 可能想试试 Qt 和 Qt Creator。伟大的 GUI 和控制台应用程序框架,您可以为 Windows、Linux 和 OS X 编译。 http://qt.nokia.com/ joke 2010-11-23T12:24:37+08:002010-11-23T12:24:37+08:00 编写 windows 应用程序 linux (ubuntu) 的最常见方法是使用 mingw 工具: http://www.mingw.org/ 有准备安装 mingw 的 ubuntu 软件包。 Aubin 2015-12-03T23:43:34+08:002015-12-03T23:43:34+08:00 从这个页面: 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,但这需要更改处理字符串的方式。
您想要进行交叉编译,这是一种为您所在平台以外的平台编译代码的方法,尤其是在处理器完全不同的情况下。基本上你需要为你的目标(即windows)安装所有的头文件,然后告诉编译器它是交叉编译的,所以它不会做一些系统检查,而是指向非标准目录。
根据语言,您可能会发现专门进行搜索或提问很有用,或者如果您正在做基本的 c,您可以使用MinGW工具和使用 gcc 的相同类型的基于 linux 的编译工具:
sudo apt-get install gcc-mingw32
使用 MinGW 工具进行 qt/win32 交叉编译有一个很好的指南。
你应该看看MingW。它为 Windows 提供了一个与 gcc 兼容的编译器。
您可以在 Linux 中使用跨平台版本来生成 Windows 二进制文件。您可以使用突触安装它,或者运行:
sudo apt-get install gcc-mingw32
在此基础上,使用通常的“make”命令,您可以为 Windows 创建程序。
那么任何允许你使用 make 和 gcc 的 IDE 都可以使用这个编译器。例如,下面是如何从 Code::Blocks IDE 执行此操作。
其他答案对于 C/C++ 代码是正确的;你需要一个交叉编译器。
对于 C# 代码,您可以只使用Monodevelop ,因为 Mono 的编译器生成与 .NET 编译器相同类型的字节码和可执行格式(反之亦然)。只要您保留在标准 .NET 基类库中或捆绑您在应用程序中使用的任何额外库,您使用 Mono 构建的应用程序将无需修改即可在 Windows 机器上运行。
可能想试试 Qt 和 Qt Creator。伟大的 GUI 和控制台应用程序框架,您可以为 Windows、Linux 和 OS X 编译。
http://qt.nokia.com/
编写 windows 应用程序 linux (ubuntu) 的最常见方法是使用 mingw 工具:
http://www.mingw.org/
有准备安装 mingw 的 ubuntu 软件包。
从这个页面:
这就是基本交叉编译所需的全部内容。我们试试看:
使用以下代码编译:
要执行,您需要 mingw 库:mingwm10.dll:
然后你可以启动它:
对话框的文本是带重音的法语,要使用 gvim,请将源代码转换为windows 代码页 1252:
<ESC>:e ++enc=cp1252
另一种更强大的解决方案是使用 UTF-8,但这需要更改处理字符串的方式。