编译第一个OpenGL红皮书程序(triangles.cpp)

时间:2014-07-19 19:23:53

标签: c++ opengl

我开始使用红皮书版本4.3学习OpenGL,我需要一些链接帮助(我认为)。我正在运行Linux Mint和Radeon HD 5000/6000/7350/8350系列视频卡。我正在尝试编译和链接第一个程序(triangles.cpp)。我安装了freeglut3freeglut3-devlibxi-devglew-utilslibglew-dev。我在旧版OpenGL Superbible中找到了这个链接命令,我猜我需要添加-lGLEW。

g++ triangles.cpp -lX11 -lXi -lglut -lGL -lGLU -lGLEW

我收到以下错误:

/tmp/ccXSL2nx.o: In function `init()':
triangles.cpp:(.text+0x11d): undefined reference to `LoadShaders'
collect2: error: ld returned 1 exit status

我从红皮书的源代码下载中复制了vgl.hLoadShaders.h以及LoadShaders.cpp。我还缺少什么?

1 个答案:

答案 0 :(得分:0)

试试这个:

g++ triangles.cpp LoadShaders.cpp -lX11 -lXi -lGL -lGLU -lGLEW -lglut -o triangles 

这会将triangles.cppLoadShaders.cpp编译并链接到单个输出文件triangles

另请注意,您可能不需要" -lX11 -lXi"。试试这个:

g++ triangles.cpp LoadShaders.cpp -lGL -lGLU -lGLEW -lglut -o triangles 

另请注意the order of libraries is important