【发布时间】:2016-12-11 16:17:59
【问题描述】:
Windows 10 周年更新包括适用于 Ubuntu 的 Linux 子系统。我用sudo apt-get install gcc安装了gcc。
我写了一些简单的 C 代码用于测试目的:
#include <stdio.h>
int main(void){
printf("Hello\n");
return 0;
}
并使用gcc -c main.c 编译它,但会生成执行(仅限Linux)main.o。如果我运行它./main.o,它会显示Hello。
我的问题是,如何编译main.c 以便 Windows 可以运行它?基本上,如何在 Linux 子系统中使用 GCC 生成*.exe 文件?
【问题讨论】:
-
compile Windows exe...它们不是已经可以执行了吗? -
你的问题(至少对我来说)有点不清楚。您能否提供更多信息,说明您获得的结果与预期不同的原因。另请注意,通过将
-c选项传递给编译器,您明确告诉它只执行编译步骤——并且不通过链接生成可执行文件。 -
@G.M.如果我想获得
* .exe文件,我应该只做gcc -o main.exe main.c吗?事实是,当我这样做并尝试运行此输出文件main.exe时,我得到了此i.imgur.com/NUDCslM.jpg -
你尝试在 Linux 子系统内部还是外部运行它?
-
由于这似乎是完全的 linux 系统,你需要一个交叉编译器来编译 linux 中的 windows 可执行文件。