OpenGL:无法使用freeGLUT执行渲染?C++
OpenGL: Cannot perform rendering with freeGLUT? C++
我今天刚开始使用freeGLUT,我已经很好地安装了所有东西。我可以创建一个基本的窗口,但每当我调用几乎所有的渲染方法时,编译都会失败。我正在使用以下代码:
#include "math_lib.h"
#include <stdlib.h>
#include <GL/freeglut.h>
void render(void);
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(100, 100);
glutInitWindowSize(640, 480);
glutCreateWindow("Simple GLUT Application");
glutDisplayFunc(render);
glutMainLoop();
}
void render(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glColor3f(1, 0, 0);
glVertex2f(-0.5, -0.5);
glColor3f(0, 1, 0);
glVertex2f(0.5, -0.5);
glColor3f(0, 0, 1);
glVertex2f(0.0, 0.5);
glEnd();
glutSwapBuffers();
}
我得到的错误是:
C:UsersUserDropboxNetBeans WorkspaceOpenGL_Testing/main.cpp:29: undefined reference to `glClear@4'
C:UsersUserDropboxNetBeans WorkspaceOpenGL_Testing/main.cpp:31: undefined reference to `glBegin@4'
C:UsersUserDropboxNetBeans WorkspaceOpenGL_Testing/main.cpp:32: undefined reference to `glColor3f@12'
C:UsersUserDropboxNetBeans WorkspaceOpenGL_Testing/main.cpp:33: undefined reference to `glVertex2f@8'
C:UsersUserDropboxNetBeans WorkspaceOpenGL_Testing/main.cpp:34: undefined reference to `glColor3f@12'
C:UsersUserDropboxNetBeans WorkspaceOpenGL_Testing/main.cpp:35: undefined reference to `glVertex2f@8'
C:UsersUserDropboxNetBeans WorkspaceOpenGL_Testing/main.cpp:36: undefined reference to `glColor3f@12'
C:UsersUserDropboxNetBeans WorkspaceOpenGL_Testing/main.cpp:37: undefined reference to `glVertex2f@8'
C:UsersUserDropboxNetBeans WorkspaceOpenGL_Testing/main.cpp:38: undefined reference to `glEnd@0'
那么,我是做错了什么,还是只是错过了一个进口?
根据错误消息,它看起来像Windows。您需要链接到opengl32.lib
。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- C++,系统无法执行指定的程序
- 使用C++中的模板和运算符重载执行矩阵运算
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 执行函数时导致崩溃的变量
- 无论条件是否为true,if总是在c++中执行
- 当函数模板参数是具有默认参数的类模板时,函数模板参数的推导如何执行
- 在C++中对T*类型执行std::move的意外行为
- 使用QProcess执行命令,并将结果存储在QStringList中
- 如何在没有信号的情况下从C++执行QML插槽
- 如何确认我的constexpr表达式实际上已经在编译时执行
- C++17中的并行执行策略
- QML按钮点击功能执行顺序
- 程序在执行程序的其余部分之前退出
- 为什么catch中的代码没有被执行
- C++从其他 constexpr 创建 lambda 不能按顺序执行 Constexpr
- 将执行、作业和WinAPI相乘
- 对字符数组中的元素执行逐位操作
- 为什么g++在未执行的代码处标记强制转换错误
- 如何使用原子指针执行双缓冲