簡體   English   中英

鏈接 GLFW 文件時出錯

[英]Errors during linking GLFW files

我已經從源代碼構建了 GLFW,並嘗試在 Ubuntu Linux 上構建應用程序。 但是, g++總是拋出關於未定義引用的錯誤。 我關注了許多網站和帖子,但它們並沒有解決我的問題。 這是我的代碼:

#include <stdio.h>
#include <stdlib.h>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
#include <glm/glm.hpp>

using namespace glm;

int main() {
    glfwWindowHint(GLFW_SAMPLES, 4);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

    GLFWwindow* window;
    window = glfwCreateWindow( 1024, 768, "Tutorial 01", NULL, NULL);
    if( window == NULL ){
        fprintf( stderr, "Failed to open GLFW window. If you have an Intel GPU, they are not 3.3 compatible. Try the 2.1 version of the tutorials.\n" );
        glfwTerminate();
        return -1;
    }
    glfwMakeContextCurrent(window);
    glewExperimental=true;
    if (glewInit() != GLEW_OK) {
        fprintf(stderr, "Failed to initialize GLEW\n");
        return -1;
    }
    return 0;
}

我正在使用以下命令編譯此程序: g++ glfw_prog.cpp -lGL -lglfw3 -o glfw_prog

但是,我收到了這個長錯誤https://pastebin.com/1b8fB2h7

如何解決這個問題?

我讓您的程序在 Ubuntu 上使用以下標志進行編譯:

g++ glfw_prog.cpp -lGL -lglfw -lGLEW -o glfw_prog

我已經關注了這個網站並解決了我的問題。 我不得不使用命令gcc -o glfw_prog glfw_prog.cpp $(pkg-config --static --libs glfw3) -lGLEW 我只需要添加額外的-lGLEW標志以及 pkg-config 搜索路徑。

更具體地說,這是完整且獨立於系統的命令:
gcc -o glfw_prog glfw_prog.cpp -L/usr/local/lib -lglfw3 -lrt -lm -ldl -lX11 -lpthread -lxcb -lXau -lXdmcp -lGLEW -lGL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM