如何使用eclipse c ++和MinGW编译器设置GLFW?

时间:2013-04-16 08:18:52

标签: c++ eclipse opengl mingw glfw

如何包含glfw.h并使用MinGW编译器链接eclipse juno c ++中的库libglfw.alibglfadll.a。这是我在设置时所做的尝试:

enter image description here

这是我尝试使用的构建命令:

g++ -o Practice.exe "src\\main.o" "-lC:\\Users\\Kaiden.ZEUS\\Files" & "Folders\\Programming\\C++\\Workspaces\\Practice\\Practice\\lib\\libglfw.a" "-lC:\\Users\\Kaiden.ZEUS\\Files" & "Folders\\Programming\\C++\\Workspaces\\Practice\\Practice\\lib\\libglfwdll.a"

1 个答案:

答案 0 :(得分:3)

这些都不是OpenGL或GLEW特有的,你在这里处理基本的程序员工艺技巧:如何配置编译器链接器工具链以使用其他库。这是必不可少的知识,所以请耐心地正确学习它。以下是您应该更改的注释的简短列表。但是你应该在编译和链接过程中学习一些学习材料来理解它。


您应该将库和标头放入系统范围的目录,但不是编译器套件的标准目录,并将它们配置为编译器和链接器的附加搜索路径。

不要将第三方库和头文件放入项目源代码树中,除非您采取适当的预防措施,不会干扰可能安装的系统范围内的实例。

此外,您必须在GLFW的静态或动态链接版本之间进行选择。如果你同时使用两者,你​​将会遇到符号冲突(这是GLFW特有的)。

在您的构建命令行中,您使用-l option with *directories*. This is wrong, search paths are specified using - L (capital L), while - l (lower l) just specifies library names without the path, prefix and suffix. Also you can replace backslashes`并使用正斜杠/,从而节省了一些输入,即\\转义为命令生成单个后退。在你的情况下(我缩短了路径)

g++ -o Practice.exe "src/main.o" "-LC:/Users/Kaiden.ZEUS/Files/ ... /lib" "-lglfw"

g++ -o Practice.exe "src/main.o" "-LC:/Users/Kaiden.ZEUS/Files/ ... /lib" "-lglfwdll"

但是这个编译命令缺少include文件的规范。假设您已在C:/Users/Kaiden.ZEUS/Files/ ... /include/GL添加

中安装了GLEW标头
"-IC:/Users/Kaiden.ZEUS/Files/ ... /include/GL"

到命令行。