MinGW/GCC GLFW链接器问题-未定义引用;glfwInit";

MinGW/GCC GLFW链接器问题-未定义引用;glfwInit";,c,gcc,mingw,glfw,undefined-reference,C,Gcc,Mingw,Glfw,Undefined Reference,TL;博士-我已经尝试了我能找到的所有解决方案,但迄今为止没有任何效果。 你好,我已经到处找了,但是我找不到我问题的答案。当我试图用GCC编译我的C程序时,我得到了一个对glfwInit()的未定义引用。首先,我尝试将glfw.dll放在与程序相同的位置,但似乎什么也没做。在此之后,我尝试从MinGW的“lib”目录中删除glfw库,并将它们替换为.dll,然后将#define glfw_dll添加到我的.c文件的顶部(相同错误)。我还尝试改变链接顺序,添加-lopengl32和-lgdi32,

TL;博士-我已经尝试了我能找到的所有解决方案,但迄今为止没有任何效果。

你好,我已经到处找了,但是我找不到我问题的答案。当我试图用GCC编译我的C程序时,我得到了一个对
glfwInit()
的未定义引用。首先,我尝试将glfw.dll放在与程序相同的位置,但似乎什么也没做。在此之后,我尝试从MinGW的“lib”目录中删除glfw库,并将它们替换为.dll,然后将
#define glfw_dll
添加到我的.c文件的顶部(相同错误)。我还尝试改变链接顺序,添加-lopengl32和-lgdi32,重命名其中一个静态库以防编译器混淆,等等。这里似乎没有任何效果,但我以前也以同样的方式安装和开发了SDL2

main.c:

#include<stdio.h>
#include<GLFW/glfw3.h>

int main(int argc, char **argv) {
    if(!glfwInit()) {
        printf("Failed!");
        return -1;
    }
    printf("Success!");
    getch();
    return 0;
}
gcc -std=c99 -o project.exe main.c -lglfw3 -lglfw3dll

好的,我终于解决了这个问题。我按照此视频中的说明进行操作:。该视频的要点是,您需要下载CMake以及此处的GLFW版本:

然后,在设置源和构建路径后,需要点击“配置”。在这之后,点击“生成”。然后,您需要打开一个命令提示符并找到新创建的MakeFile。我正在使用Windows,这意味着我需要使用命令
mingw32 make
。然后成功构建库文件


完成此操作后,我将创建的.dll和.a文件放在MinGW“lib”文件夹中。然后,我复制了.dll并将其放置在与可执行文件相同的目录中。

您是否尝试添加-L。是的,我尝试的其中一个方法是添加-L并指定库的目录。不幸的是,同样的错误。