2017-04-23 209 views
0

我知道这个答案已被问过,但我一直没有找到解决方案。我正在使用Emacs和一个批处理文件来运行gcc,但我一直从编译器获取未定义的引用错误。使用mingw-w64与GLFW链接错误

这里是我的代码:

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

void 
wf_init(const char* title) 
{ 
    if (!glfwInit()) 
    { 
     // Error message 
    } 

    puts("Hello"); 
} 

void 
wf_update(void) 
{ 

} 

void 
wf_quit(void) 
{ 
    glfwTerminate(); 
} 

int main() 
{ 
    wf_init("HELLO"); 

`}

这里是我的批处理文件代码:

@echo off 
cls 
cd C:/Users/surafel911/Documents/Coding/Projects/Engines/Test/ 
@echo on 
gcc -o bin/debug/main code/main.c code/src/*.c -g -Werror -std=c11^
- 
IC:/Users/surafel911/Documents/Coding/Projects/Engines/Test/external/include 
^ 
-LC:/Users/surafel911/Documents/Coding/Projects/Engines/Test/external/lib^
-lmingw32 -lopengl32 -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lglfw3 
@echo off 
cd C:/Users/surafel911/Documents/Coding/Projects/Engines/Test/build/ 
+0

发布您的链接错误(批处理脚本的输出)。 – dlasalle

回答

0

显然,所有我需要做的是重新安排我便走进图书馆gcc,so put

-lmingw32 -lglfw3 -lopengl32 -lkernel32 -luser32 -lgdi32 -lcomdlg32 

使一切正常。我在某处读到你在图书馆传递的顺序很重要,所以这必须是一个例子。