编译器MinGW
操作系统Windows 7 x64
glViewport()
函数提供Undefined Reference
错误
我试过了
-lGL
结果cannot find -lGL
< - 如何找到OpenGL dll文件?-Lpath -lglew32 -lglfw3
,好像不是最后一个链接器参数我可能错误编译了GLEW和/或错误复制的GLEW库,因为我不确定我是否需要libglew32.a和/或libglew32.dll.a文件。
我有像这样的文件夹结构
Hello经验丰富的程序员。你谦虚的提问者回来了。今天我和我的朋友决定开始/学习OpenGL。在我们按照this教程进行操作时,由于出现glViewport
错误,我们一直停留在Undefined reference
。我们正在研究NetBeans 8.0 C / C ++版本。我已经仔细检查了Makefile
,因为在编译时,一些提到-Lpath -lglew32 -lglfw3
的网站必须是最后一个参数。我曾尝试将-lGL
作为链接器选项,但遗憾的是它不会起作用。
#include <cstdlib>
//GLEW
#include "GL/glew.h"
//GLFW
#include "GLFW/glfw3.h"
using namespace std;
/*
*
*/
int main(int argc, char** argv) {
glewExperimental = GL_TRUE;
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL , NULL);
glfwMakeContextCurrent(window);
glViewport(0, 0, 800, 600);
return 0;
}
作为旁注,这是我第一次使用标准以外的库。 总结看起来比长篇故事要长得多..
编辑:我不认为这是一个重复的问题,因为我要求链接特定的库,而不是如何链接C ++中的东西。这就像说所有编码问题都是相同的,因为它们都涉及编写代码。检查了上述主题,找不到任何关于链接opengl32库的方向。
答案 0 :(得分:5)
在Windows中,OpenGL API接口库称为opengl32
而非GL
,因此您必须与
-lopengl32
(请注意,它总是...... 32,即使在64位系统上也是如此)。