如何包含glfw.h
并使用MinGW编译器链接eclipse juno c ++中的库libglfw.a
和libglfadll.a
。这是我在设置时所做的尝试:
这是我尝试使用的构建命令:
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"
答案 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
添加
"-IC:/Users/Kaiden.ZEUS/Files/ ... /include/GL"
到命令行。