【发布时间】:2021-04-02 13:57:41
【问题描述】:
TL;DR - 我已经尝试了所有我能找到的解决方案,到目前为止没有任何效果。
你好,我已经搜索了很多,但我找不到我的问题的答案。当我尝试使用 GCC 编译我的 C 程序时,我得到一个未定义的对 glfwInit() 的引用。首先,我尝试将 glfw .dll 放在与程序相同的位置,但这似乎什么也没做。在此之后,我尝试从 MinGW 的“lib”目录中删除 glfw 库并用 .dll 替换它们,并将 #define GLFW_DLL 添加到我的 .c 文件的顶部(同样的错误)。我还尝试更改链接顺序,添加 -lopengl32 和 -lgdi32,重命名其中一个静态库以防编译器被混淆等。这里似乎没有任何工作,但我之前在同样的时尚。
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
【问题讨论】:
-
你试过加-L吗
-
是的,我尝试的其中一件事是添加 -L 并指定库的目录。不幸的是,同样的错误。
标签: c gcc mingw glfw undefined-reference