无法识别的命令行选项“-mwindows”

时间:2021-05-16 08:01:09

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

我正在尝试从 Ubuntu linux for Windows 平台交叉编译我的 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++。有没有办法在不制作自己的交叉编译器的情况下编译它?

2 个答案:

答案 0 :(得分:1)

要为 Windows 进行交叉编译,您需要 mingw-w64 或使用 i686-w64-mingw32-g++ sudo apt-get install mingw-w64
欲知详情: https://arrayfire.com/cross-compile-to-windows-from-linux/

答案 1 :(得分:0)

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