【问题标题】:collect2.exe [Error] ld returned 1 exit status [duplicate]collect2.exe [错误] ld 返回 1 个退出状态 [重复]
【发布时间】:2014-05-06 16:37:03
【问题描述】:

我从几天开始就开始编程,我只是想用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

【问题讨论】:

  • 您是否正确链接库?

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


【解决方案1】:

从您发布的日志消息来看,您似乎没有正确配置您的 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 一样设置它。

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

【讨论】:

猜你喜欢
  • 2014-09-03
  • 1970-01-01
  • 2017-12-18
  • 1970-01-01
  • 2017-11-17
  • 2022-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多