Mac 上使用Qt、OpenGL常见问题1——glut

:-1: error: symbol(s) not found for architecture x86_64

:-1: error: linker command failed with exit code 1 (use -v to see invocation)

在使用glut库的时候,会报以上错误。当然使用其他第三方库的时候也会存在以上问题,以下解决方案可以类推。

在此之前,使用OpenGL的时候,首先需要在.pro文件中添加QT+=opengl

之后继续报错,可能是由于在mac系统升级之后Qt没有升级导致,因为Qt是用Xcode编译的,而新的Xcode调用的OS X 10.9,但是Qt还没有更新,还是用10.6。

更改 ../Qt5.2.0/5.2.0-rc1/clang_64/mkspecs/macx-clang/qmake.conf  文件中的QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6,

改为 QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9,然后对QT对工程先清理,再rebuild,就可以编译了。

还不能正常使用,则可能是需要加载第三方库,使用Add Library,使用系统库,glut在Mac中是Xcode自带的,/System/Library/Frameworks/GLUT.framework,然后就可以编译完成了,此时.pro文件变化有

mac: LIBS += -framework GLUT
else:unix|win32: LIBS += -lGLUT
编译成功!
posted @ 2014-11-04 14:57  BrendaGao  阅读(1789)  评论(0编辑  收藏  举报