用g ++编译GLFW代码

问题描述:

我刚开始进入C++编码,特别是OpenGL(在这个阶段的GLFW)。我使用MinGW的,并使用一个批处理文件编译我的代码:用g ++编译GLFW代码

g++ -time -v -I lib/glfw-3.1.2/include -o "bin/OpenGL Test" src/Main.cpp 

我的测试代码是这样的:

#include <iostream> 
#include <GLFW/glfw3.h> 

using namespace std; 

int main() { 
    if(!glfwInit()) { 
     return 1; 
    } 
    glfwTerminate(); 
    return 0; 
} 

对我来说,这似乎像它应该编译和运行正常,但它抛出错误在两个GLFW函数中,声称它们是“未定义的引用”。

我做错了什么?

+1

它看起来像你正在包括头,但没有链接库。 –

+0

您必须在编译器命令行中添加'-lglfw'(可能还有其他库),并最终添加额外的路径,以'-L'选项在哪里找到这些路径。 –

'未定义的引用'是一个常见的错误。你应该先编译你的cpp。然后将其与库链接以形成可执行文件。