gpt4 book ai didi

opengl - 链接器错误: undefined reference to symbol 'glOrtho'

转载 作者:行者123 更新时间:2023-12-01 16:59:16 25 4
gpt4 key购买 nike

我在 Ubuntu 13.04 ( *mesa-common-dev freeglut3-dev* ) 中安装了 OpenGL 软件包并尝试运行示例程序。

#include "GL/freeglut.h"
#include "GL/gl.h"

/* display function - code from:
http://fly.cc.fer.hr/~unreal/theredbook/chapter01.html
This is the actual usage of the OpenGL library.
The following code is the same for any platform */
void renderFunction()
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
glBegin(GL_POLYGON);
glVertex2f(-0.5, -0.5);
glVertex2f(-0.5, 0.5);
glVertex2f(0.5, 0.5);
glVertex2f(0.5, -0.5);
glEnd();
glFlush();
}

/* Main method - main entry point of application
the freeglut library does the window creation work for us,
regardless of the platform. */
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow("OpenGL - First window demo");
glutDisplayFunc(renderFunction);
glutMainLoop();
return 0;
}

但是,我遇到了这个错误,并且不知道该怎么办。

ved@vedvals:~/Desktop/p1$ g++ p1.cpp -lglut
/usr/bin/ld: /tmp/ccgGdeR2.o: undefined reference to symbol 'glOrtho'
/usr/bin/ld: note: 'glOrtho' is defined in DSO /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 so try adding it to the linker command line
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status

我看了
OpenGL hello.c fails to build using CMake
因为错误类似,但我没有使用 CMake

我的代码是错误的还是我需要包含/更改/调整一些设置?

我引用了这个网站进行安装和代码:

Setting up an OpenGL development environment in Ubuntu Linux

最佳答案

您需要链接 OpenGL 库:

g++ p1.cpp -lglut -lGL

关于opengl - 链接器错误: undefined reference to symbol 'glOrtho' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17766420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com