|
这玩意看上去比direct3d更容易,最起码,初看上去更容易:
https://www.glfw.org/documentation.html
但是,我用visaul studio c++2019编译这个程序出现链接错误:
E:\Project\Sword\Cpp\Window>cl /EHsc GLfirst.cpp /I "E:\glfw-3.3.2.bin.WIN64\inc
lude" /link /LIBPATH:"E:\glfw-3.3.2.bin.WIN64\lib-vc2019"
用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.26.28806 版
版权所有(C) Microsoft Corporation。保留所有权利。
GLfirst.cpp
Microsoft (R) Incremental Linker Version 14.26.28806.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:GLfirst.exe
/LIBPATH:E:\glfw-3.3.2.bin.WIN64\lib-vc2019
GLfirst.obj
GLfirst.obj : error LNK2019: 无法解析的外部符号 _glfwInit,函数 _main 中引用了该
符号
GLfirst.obj : error LNK2019: 无法解析的外部符号 _glfwTerminate,函数 _main 中引
用了该符号
GLfirst.obj : error LNK2019: 无法解析的外部符号 _glfwCreateWindow,函数 _main 中
引用了该符号
GLfirst.obj : error LNK2019: 无法解析的外部符号 _glfwWindowShouldClose,函数 _ma
in 中引用了该符号
GLfirst.obj : error LNK2019: 无法解析的外部符号 _glfwPollEvents,函数 _main 中引
用了该符号
GLfirst.obj : error LNK2019: 无法解析的外部符号 _glfwMakeContextCurrent,函数 _m
ain 中引用了该符号
GLfirst.obj : error LNK2019: 无法解析的外部符号 _glfwSwapBuffers,函数 _main 中
引用了该符号
E:\glfw-3.3.2.bin.WIN64\lib-vc2019\glfw3dll.lib : warning LNK4272:库计算机类型“
x64”与目标计算机类型“x86”冲突
E:\glfw-3.3.2.bin.WIN64\lib-vc2019\glfw3.lib : warning LNK4272:库计算机类型“x64
”与目标计算机类型“x86”冲突
GLfirst.exe : fatal error LNK1120: 7 个无法解析的外部命令
为什么连glfw开头的函数都找不到? 我已经在程序里添加了下面两行,用于链接到lib库:
#pragma comment(lib, "glfw3dll.lib")
#pragma comment(lib, "glfw3.lib")
#pragma comment(lib, "OpenGL32.lib")
E:\glfw-3.3.2.bin.WIN64\lib-vc2019下有glfw3.lib何glfw3dll.lib这两个lib库,还有一个dll,不知道有什么区别,所以程序里两个都连上,但还是出错;OpenGL32.lib则是C:\Program files(x86)自带了一个GL库,直接连上即可,不用下载。
看错误提示,说x64和x86不匹配,但是,我这系统是Win7 64,我下的也是64位glfw。
|
|