如何在Mac上使用g++编译程序并使用freeglut库。

3

我正在尝试将freeglut添加到我的程序中,但是我没有找到任何方法来实现。在MacOS中,为了添加glut库和glu,我必须通过终端编译:

g++-9 -framework GLUT -framework OpenGL

我的目的是添加freeglut以便在我的程序中使用glutLeaveMainLoop()。我已经添加了该库,但是我遇到了这个错误:

Undefined symbols for architecture x86_64:
  "_glutLeaveMainLoop"
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status

当我尝试编译程序时,如果没有添加 -framework OpenGL -framework GLUT,我会遇到相同的错误。

使用g++编译时是否也可以同时使用freeglut?


1
一个很好的跨平台替代glut的选择是glfw。它对于窗口和上下文创建非常友好,并且支持回调和事件轮询。这个答案也值得一看,以获取有关差异的快速概述:https://dev59.com/xF8e5IYBdhLWcg3wd6Q6 - David Sullivan
1个回答

2

由于MacOs本身没有freeglut库,所以在使用brew下载库后,我通过添加-L和-l的方式自己解决了问题:

g++-9 -framework GLUT -framework OpenGL -L /usr/local/Cellar/freeglut/3.0.0/lib -lglut file.cpp


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接