我想用QT-Creator在Cpp中学习OpenGl,但是我似乎没有正确链接我的GLFW库。
我用过
sudo apt-get install libglfw3 libglfw3-dev libglfw3-doc和
sudo apt-get install libglew-dbg libglew-dev libglew1.13安装它们之后,QT_Creator“展示”了我
//GLEW
#include "GL/glew.h"
//GLFW
#include "GLFW/glfw3.h"所以我想,我可以使用它们,但我得到了一个“明确的参考……”。我已经看过this question了,但它似乎不起作用。而且我以前从未使用过CMake或qmake,所以我看不出我的错误。
发布于 2016-09-26 02:31:10
我可以为你提供我的环境设置说明,或者你可以从我的sites中阅读它,但为了防止有一天我的网站url无效,我在这里重写了它。
安装glfw
首先是
sudo apt-get install xorg-dev sudo apt-get install libglu1-mesa-dev
安装glew
然后在official
make extension make sudo make install sudo make clean
打开QT项目并设置opengl设置
LIBS +=-lGLEW -lglfw3 -lGL -lX11 -lXi -lXrandr -lXxf86vm -lXinerama -lXcursor -lrt -lm -pthread
尝试一个简单的测试。
#define GLEW_STATIC
#include <GL/glew.h>
#include<GLFW/glfw3.h>
int main(int argc, char *argv[])
{
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
return 0;
}尽情享受吧
发布于 2016-09-25 20:14:07
如果你只想学习openGL,而没有像glfw或glew这样帮助库,你可以在QOpenglGLFunctions中使用QOpenglWidget或QOpenglWindow。Qt为所有的opengl函数提供了包装器,但是你可以使用原始openGL中的函数。您甚至不能使用QOpenglWindow或QOpengGlWidget。Qt提供了很多示例,例如
http://doc.qt.io/qt-5/qtopengl-cube-example.html
http://doc.qt.io/qt-5/qtgui-openglwindow-example.html
发布于 2016-10-16 00:31:05
我碰巧遇到了同样的问题。我遵循Tokenyet,但我也在.pro文件中的LIBS末尾添加了-ldl,它起作用了。
https://stackoverflow.com/questions/39318326
复制相似问题