我开始使用红皮书版本4.3学习OpenGL,我需要一些链接帮助(我认为)。我正在运行Linux Mint和Radeon HD 5000/6000/7350/8350系列视频卡。我正在尝试编译和链接第一个程序(triangles.cpp)。我安装了freeglut3
,freeglut3-dev
,libxi-dev
,glew-utils
和libglew-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.h
和LoadShaders.h
以及LoadShaders.cpp
。我还缺少什么?
答案 0 :(得分:0)
试试这个:
g++ triangles.cpp LoadShaders.cpp -lX11 -lXi -lGL -lGLU -lGLEW -lglut -o triangles
这会将triangles.cpp
和LoadShaders.cpp
编译并链接到单个输出文件triangles
。
另请注意,您可能不需要" -lX11 -lXi"。试试这个:
g++ triangles.cpp LoadShaders.cpp -lGL -lGLU -lGLEW -lglut -o triangles