collect2.exe [错误] ld返回1退出状态

时间:2014-05-06 16:37:03

标签: c++ c windows-7 opengl-3 glfw

我正在编程几天,我只是想用opengl打开一个窗口。我得到了glew和glfw,我链接了glew库和两者的标题但是当我编译时我得到一个错误。我有windows7。我使用def c ++。

这是代码:

#define GLEW_NO_GLU
#define GLFW_NO_GLU

#include <GL/glew.h>
#include <GLFW/glfw3.h>


int main() {
GLFWwindow* window1 = glfwCreateWindow(640, 480, "window1", NULL, NULL);
glfwMakeContextCurrent(window1);
return 0;
}

这就是错误:

C:\Users\Stefan\Desktop\Programmieren\Code\c++_Projekt2_OpenGL\main.o   In function `main':
C:\Users\Stefan\Desktop\Programmieren\Code\c++_Projekt2_OpenGL\main.cpp undefined reference to `glfwCreateWindow'
C:\Users\Stefan\Desktop\Programmieren\Code\c++_Projekt2_OpenGL\main.cpp undefined reference to `glfwMakeContextCurrent'
C:\Users\Stefan\Desktop\Programmieren\Code\c++_Projekt2_OpenGL\collect2.exe [Error] ld returned 1 exit status

这是编译器日志,但是它被称为:

Compiler: TDM-GCC 4.7.1 32-bit Release
Building Makefile"C:\Users\Stefan\Desktop\Programmieren\Code\c++_Projekt2_OpenGL\Makefile.win"
Führe  make... aus
mingw32-make.exe -f "C:\Users\Stefan\Desktop\Programmieren\Code\c++_Projekt2_OpenGL\Makefile.win" all
g++.exe -D__DEBUG__ main.o -o Projekt2.exe -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib32" -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib32" -static-libgcc glew-1.10.0/lib/Release/Win32/glew32.lib -m32 -g3

main.o: In function `main':
C:\Users\Stefan\Desktop\Programmieren\Code\c++_Projekt2_OpenGL/main.cpp:9: undefined reference to `glfwCreateWindow'
C:\Users\Stefan\Desktop\Programmieren\Code\c++_Projekt2_OpenGL/main.cpp:10: undefined reference to `glfwMakeContextCurrent'
collect2.exe: error: ld returned 1 exit status

mingw32-make.exe: *** [Projekt2.exe] Error 1

Compilation failed after 0,14 seconds with errors

1 个答案:

答案 0 :(得分:0)

从您发布的日志消息中,您似乎没有正确配置Dev-C ++项目以链接glfw

g++.exe -D__DEBUG__ main.o -o Projekt2.exe -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib32" -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib32" -static-libgcc glew-1.10.0/lib/Release/Win32/glew32.lib -m32 -g3

缺少glfw库,这就是为什么你得到一个未定义的函数引用。您应该像使用glew32一样进行设置。

此外,您问题的评论中提供的What is an undefined reference/unresolved external symbol error and how do I fix it?链接值得一读。