将GLFW和GLEW链接到QT-Creator

4
我是一名有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:

我想使用QT-Creator学习使用C++编写OpenGl,但似乎我的GLFW库链接不正确。

我使用了

sudo apt-get install libglfw3 libglfw3-dev libglfw3-doc

"and"。
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,所以我看不到我的错误。

4个回答

2

我可以为您提供环境设置笔记,或者您可以从我的网站上阅读。但是为了防止我的网站链接在某一天失效,我将在此处重写它。

安装glfw

  1. First. we need to install dependencies on ubuntu

    sudo apt-get install xorg-dev
    sudo apt-get install libglu1-mesa-dev
    

安装glew

  1. Then download source package at official

  2. Extract your package and open your terminal, then cd to what your package location which you just extracted.

  3. Do following commnad to install

    make extension
    make 
    sudo make install
    sudo make clean
    
打开QT项目并设置OpenGL选项
  1. Open a console project in QT

  2. Add following settings in your .pro file anywhere.

    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;
}

Enjoy it


0

0

我遇到了同样的问题。我按照Tokenyet的答案操作,但我还在.pro文件中的LIBS末尾添加了-ldl,然后它就可以工作了。


0

我曾经遇到过同样的问题,当我尝试使用Qt开发控制台应用程序项目时。我通过使用-lglfw(而不是-lglfw3)来解决了这个问题。看起来lglfw3(.so或.a文件或其他文件)在Lib文件夹中不存在,除非您自己编译它(video)。

*此外,对于包含glm头文件的项目,需要libglm-dev。因此,请启动Ubuntu软件中心进行安装或启动

    sudo apt-get install libglm-dev 

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