Long Story简短,OpenGL初学者/ dabbler,使用GLFW进行自学。
我从here下载了GLFW预编译的二进制文件 然后我跟着this教程(我知道它的VS2010具体,但仍然) 我已经阅读了有关VS2012 + GLFW 3.x设置的链接器错误的大量问题。 他们都没有解决我的问题。 这是我到目前为止在代码中的内容。
#define GLFW_DLL
#include <glfw3.h>
#pragma comment(lib,"glfw3.lib")
#pragma comment(lib,"glfw3dll.lib")
#pragma comment(lib,"opengl32.lib")
int main(int argc,char** argv)
{
GLFWwindow* window;
/* Initialize the library */
if (!glfwInit())
return -1;
/* Create a windowed mode window and its OpenGL context */
window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
if (!window)
{
glfwTerminate();
return -1;
}
/* Make the window's context current */
glfwMakeContextCurrent(window);
/* Loop until the user closes the window */
while (!glfwWindowShouldClose(window))
{
/* Render here */
/* Swap front and back buffers */
glfwSwapBuffers(window);
/* Poll for and process events */
glfwPollEvents();
}
glfwTerminate();
return 0;
}
以下是我的内容 VC包含目录。 VC lib目录 VC链接器输入选项 System32 DLL
编译成功。但是,我明白了
为什么,这个设置有什么问题?
UPDATE :: 我尝试将所有文件(dll,lib和header)放在项目文件夹中,仍然没有结果, 我仍然收到相同的错误消息。
答案 0 :(得分:1)
最简单的解决方案是使用静态库而不是dll,从而消除了对dll的需求。
要执行此操作,您需要删除GLFW_DLL的定义,以便您将文件读为:
#include <glfw3.h>
main() // code follows
您需要从其他依赖项中删除glfw3dll.lib,但请保留glfw3.lib和opengl32.lib。