i686-w64-mingw32-gcc/x86_64-w64-mingw32-gcc 不工作 GLFW

问题描述 投票:0回答:1

如何修复此错误?

None-of-your-business@penguin:~/None-of-your-business$ x86_64-w64-mingw32-gcc -o bin/EreecliseWin64.exe src/main.c
src/main.c:4:10: fatal error: GLFW/glfw3.h: No such file or directory
    4 | #include <GLFW/glfw3.h>
      |          ^~~~~~~~~~~~~~

我试过这个。

None-of-your-business@penguin:~/None-of-your-business$ x86_64-w64-mingw32-gcc -o bin/EreecliseWin64.exe src/main.c -lglfw3 -lGL -lX11 -lpthread -lXrandr -lXi -ldl -lm
src/main.c:4:10: fatal error: GLFW/glfw3.h: No such file or directory
    4 | #include <GLFW/glfw3.h>
      |          ^~~~~~~~~~~~~~

我安装了GLFW

c glfw mingw-w64 mingw32
1个回答
0
投票

您的命令是结合了编译器和链接器步骤的简短形式:

x86_64-w64-mingw32-gcc -o bin/EreecliseWin64.exe src/main.c

为了在构建过程中进行故障排除和整体清晰度,我建议您将其分为两个单独的步骤,如下所示:

x86_64-w64-mingw32-gcc -c -o bin/main.o src/main.c
x86_64-w64-mingw32-gcc -o bin/EreecliseWin64.exe src/main.o

上面的第一行是编译器步骤,您应该向其中添加 glfw3 所需的编译器标志。 如果一切都正确安装,您应该能够通过运行

pkg-config --cflags glfw3
来获取这些标志。

上面的第二行是链接器步骤,您应该向其中添加 glfw3 所需的链接器标志。 如果一切都正确安装,您应该能够通过运行

pkg-config --lib glfw3
来获取这些标志。

x86_64-w64-mingw32-gcc -c -o bin/main.o src/main.c $(pkg-config -cflags glfw3)
x86_64-w64-mingw32-gcc -o bin/EreecliseWin64.exe src/main.o $(pkg-config --libs glfw3)

如果

pkg-config
不起作用,请尝试将
PKG_CONFIG_PATH
指向包含
glfw3.pc
的路径(例如
PKG_CONFIG_PATH=/usr/lib/pkgconfig/glfw3.pc
),或者像这样手动指定标志:

x86_64-w64-mingw32-gcc -c -o bin/main.o src/main.c -I/usr/include
x86_64-w64-mingw32-gcc -o bin/EreecliseWin64.exe src/main.o -L/usr/lib -lglfw3

将上面示例中的

/usr
替换为 x86_64-w64-mingw32 平台的 glfw3 安装的正确位置。

如果您要进行交叉编译(在 Linux 上构建时针对 Windows),那么拥有并使用 Windows 版本的 glfw3 非常重要。

© www.soinside.com 2019 - 2024. All rights reserved.