用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函数中,声称它们是“未定义的引用”。
我做错了什么?
答
'未定义的引用'是一个常见的错误。你应该先编译你的cpp。然后将其与库链接以形成可执行文件。
它看起来像你正在包括头,但没有链接库。 –
您必须在编译器命令行中添加'-lglfw'(可能还有其他库),并最终添加额外的路径,以'-L'选项在哪里找到这些路径。 –