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文件变化有
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../System/Library/Frameworks/release/ -lGLUT
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../System/Library/Frameworks/debug/ -lGLUT
else:mac: LIBS += -F$$PWD/../../../../../System/Library/Frameworks/ -framework GLUT
else:unix: LIBS += -L$$PWD/../../../../../System/Library/Frameworks/ -lGLUT
INCLUDEPATH += $$PWD/../../../../../System/Library/Frameworks
DEPENDPATH += $$PWD/../../../../../System/Library/Frameworks
编译成功!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。