【问题标题】:MinGW compile cMinGW编译c
【发布时间】:2021-03-03 12:07:23
【问题描述】:

我安装了MinGW,我写了如下代码测试

#include <stdio.h>
int main() {
#if defined(__WIN32__)
    printf("hello win.");
#else
    printf("hello unix.");
#endif
    return 0;
}

然后编译并运行。

V002294@DESKTOP-A0H4TOJ /c/Users/V002294
$ gcc test.c -o test

V002294@DESKTOP-A0H4TOJ /c/Users/V002294
$ ./test.exe
hello win.

为什么不"hello unix"

【问题讨论】:

  • 因为你的目标平台是win32。
  • 我在 Ubuntu 18.04 中运行,我得到了hello unix
  • 如果我想让Windows平台编译运行并打印“hello unix”,我应该使用Cygwin?
  • 运行 which gcc 以找出您正在使用的编译器。

标签: c++ c compilation mingw


【解决方案1】:

__WIN32__ 必须根据你得到的结果来定义。

当您运行 gcc 时,它看起来使用的是 MinGW 的 gcc。

检查您的 PATH 环境变量 (echo $PATH) 以查看 MinGW 位置是否在 Linux 版本之前在其中。或者直接运行which gcc 来查看正在使用哪个。

或者您可能没有安装任何其他 gcc,这就是它默认使用 MinGW gcc 的原因。

【讨论】:

    猜你喜欢
    • 2012-06-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    相关资源
    最近更新 更多