如何使用 G++ 将 GL/gl.h 和 GL/glut.h 静态链接到我的 C++ 程序

问题描述 投票:0回答:1

我目前正在开发一个小程序,当我尝试在干净的Linux发行版上运行它时遇到一个问题:默认情况下未安装OpenGL freeglut3。当我为 Windows 编译它时,我遇到了同样的问题。

为了规避这个问题,我寻求静态链接库,将它们嵌入到可执行文件中。我使用的完整命令是

g++ thing.cpp -Wall -o thing -static -lGL -lglut -static-libgcc -static-libstdc++

小编辑:不带 -static 编译它就可以了,但只静态地包含 libgcc 和 libstdc++

我收到的错误消息是:

coolperson@iogamesplayer:~/c++/text/program$ g++ thing.cpp -o thing -static -lGL -lglut -static-libgcc -static-libstdc++
/usr/bin/ld: cannot find -lGL: No such file or directory
collect2: error: ld returned 1 exit status
coolperson@iogamesplayer:~/c++/thing/program$ 

可以正常编译它,并且我已经使用

g++ thing.cpp -o thing -static-libgcc -static-libstdc++
静态链接了默认库。

我尝试的是使用我自己编译的 freeglut 3.4.0,但没有成功。我在网上找不到任何东西

我尝试询问 Reddit,但 Reddit 并没有确切地告诉我我做错了什么,以及如何静态链接它:P。

告诉我我做错了什么,以及我如何能够静态链接openGL glut.h。

c++ opengl g++ glut static-linking
1个回答
0
投票

@Botje 建议我应该使用 GLEW 而不是 GLUT,我想我会这么做:)

© www.soinside.com 2019 - 2024. All rights reserved.