使用QT5.10 msvcX64 + opengl 编程时编译出错:LNK2019无法识别的符号 imp_gl****,这个问题困扰了我好几天,在qt下使用plain c++ application 新建工程编写一段纯opengl代码也不行。
在pro文件中已经增加LIBS += -lopengl32 -lglu32还是不行,删除调试文件夹+删除*.pro.user重新编译也无法解决,最后终于在一篇博文中找到解决办法:https://blog.csdn.net/qq_30547073/article/details/78954592 感谢作者:御伽草子 哈哈哈。
解决方法是:在pro文件中添加下面代码
win32-g++:!contains(QMAKE_HOST.arch,x86_64){
LIBS+="C:/ProgramFiles(x86)/MicrosoftSDKs/Windows/v7.1A/Lib/OpenGL32.lib"
}else{
LIBS+="C:/ProgramFiles(x86)/MicrosoftSDKs/Windows/v7.1A/Lib/x64/OpenGL32.lib"
}
因为我是x64 环境所以直接添加: LIBS+="C:/ProgramFiles(x86)/MicrosoftSDKs/Windows/v7.1A/Lib/x64/OpenGL32.lib"即可
或者将C:/ProgramFiles(x86)/MicrosoftSDKs/Windows/v7.1A/Lib/x64 文件夹下的 opengl32.lib与glu32.lib拷贝到QT安装路径下的lib文件夹中,然后在pro文件中增加 libs+= -lopengl32.lib
原因:不用解释,缺少x64的opengl32.lib与glu32.lib