【问题标题】:Unrecognized command line option ‘-mwindows’无法识别的命令行选项“-mwindows”
【发布时间】:2021-08-05 19:23:50
【问题描述】:

我正在尝试从适用于 Windows 平台的 Ubuntu linux 在 C 上交叉编译我的 hello world 应用程序。所以,为了编译我正在使用这个 Makefile 的应用程序:

CC = g++
IDIR = -Iinclude
SRC = src
CFLAGS = -Wall -Wextra
LFLAGS = -mwindows

main.out: main.o
    $(CC) $(CFLAGS) $(IDIR) $(LFLAGS) $^ -o $@ 

main.o: $(SRC)/main.c
    $(CC) $(CFLAGS) $(IDIR) -c -o $@ $^ 

由于 cmmand make -f windows.mk 我有这样的错误:

g++: error: unrecognized command line option ‘-mwindows’

我已经尝试过 gcc 和 g++。有没有办法在不制作自己的交叉编译器的情况下编译它?

【问题讨论】:

  • GCC 的构建只能为一个平台编译。您不能重复使用常规 GCC 来交叉编译 Windows。需要单独安装不同的 GCC。 (sudo apt install mingw-w64 我认为)。 -mwindows 只是表示“运行我的程序时不显示终端窗口”,它对交叉编译没有帮助。

标签: c++ gcc g++ cross-compiling


【解决方案1】:

非常感谢@HolyBlackCat 我尝试使用x86_64-w64-mingw32-g++ 而不是仅使用g++gcc 而没有 -mwindows,它成功了。

【讨论】:

    【解决方案2】:

    要在 windows 上进行交叉编译,您需要 mingw-w64 或使用 i686-w64-mingw32-g++ sudo apt-get install mingw-w64
    更多信息: https://arrayfire.com/cross-compile-to-windows-from-linux/

    【讨论】:

      猜你喜欢
      • 2021-08-21
      • 2021-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-01
      • 2020-10-06
      • 2016-06-19
      相关资源
      最近更新 更多