Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Visual Studio 11 GLFW外部符号错误_C++_Opengl_Visual Studio 2012_Linker_Glfw - Fatal编程技术网

C++ Visual Studio 11 GLFW外部符号错误

C++ Visual Studio 11 GLFW外部符号错误,c++,opengl,visual-studio-2012,linker,glfw,C++,Opengl,Visual Studio 2012,Linker,Glfw,我使用的基本代码是 我得到这个输出: 1>------ Build started: Project: ConsoleApplication1, Configuration: Debug Win32 ------ 1> Quelle.cpp 1>Quelle.obj : error LNK2019: unresolved external symbol _glfwInit referenced in function _main 1>Quelle.obj : error

我使用的基本代码是

我得到这个输出:

1>------ Build started: Project: ConsoleApplication1, Configuration: Debug Win32 ------
1>  Quelle.cpp
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwInit referenced in function _main
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwTerminate referenced in function _main
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwCreateWindow referenced in function _main
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwWindowShouldClose referenced in function _main
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwPollEvents referenced in function _main
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwMakeContextCurrent referenced in function _main
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwSwapBuffers referenced in function _main
1>C:\Users\MICHAEL\documents\visual studio 2012\Projects\ConsoleApplication1\Debug\ConsoleApplication1.exe : fatal error LNK1120: 7 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
glfw3.h位于VC/include目录中。 我还将glfw3.lib添加到VC/lib文件夹中,并将glfw3.lib作为链接器输入的附加依赖项添加到链接器中,但仍然会出现此错误


知道为什么吗?我使用了预编译的二进制文件(支持MSVC2012和64x)

好的,经过多次尝试和错误,我解决了它

  • 使用32位二进制文件
  • 右键单击项目->属性->VC++
  • 包括目录:C:\Users\MICHAEL\Desktop\glfw-3.0.3.bin.WIN32\Include$(包括路径)
  • 库目录:C:\Users\MICHAEL\Desktop\glfw-3.0.3.bin.WIN32\lib-msvc110$(图书馆路径)
  • 链接器->输入->添加其他依赖项
  • glfw3.lib和opengl32.lib

  • 这就解决了我的问题。

    我没有必要的声誉来评论迈克尔(Michael)接受的答案,但我想指出的是,我让他的方法发挥了作用。我需要纠正的是在IncludePath/LibraryPath的其余部分之前而不是之后切换include和library目录。

    如果有人打算使用64位版本的GLFW,这是我的解决方案:

  • 从github获取GFLW源代码
  • 使用CMake生成64位Visual Studio sln
  • 使用适当的设置配置glfw:
  • 如果是动态库:

    项目->配置->C/C++->代码生成->运行库->多线程调试DLL(/MDd)

    如果是静态库:

    项目->配置->C/C++->代码生成->运行库->多线程调试(/MTd)

  • 构建glfw项目

  • 在项目中链接以下二进制文件:

     glfw3.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;glfw3.lib
    
  • 还可以使用相应的/MDd或/MTd编译器标志配置项目,并将其配置为在x64上构建

  • 建造


  • 根据您使用的版本,确保您的平台设置为x64或32。 我尝试使用64位平台,但一直遇到问题,直到我注意到我在VisualStudio中的活动平台是win32。
    转到configuration manager,确保其设置为64可能是32位/64位冲突。你下载了哪一个,你为哪一个编译?我下载了64位Windows二进制文件,因为我有一个64位Windows,我的Visual Studio是64位的,但我编译为32位。我将尝试32位版本,并告诉你它是否有效。不。与32位二进制文件完全相同的错误:您不应该向VC安装目录添加内容;将它们放在项目旁边,并适当设置项目的include和lib路径。VC在查找lib文件时可能会查找到您不期望的位置(例如,64/32位lib位于不同的位置)。这是一个您应该忽略的实现细节。好的,谢谢。我从VC目录中删除了它,并将lib路径设置为新目录。解决方案被删除了-顺便说一句,它不起作用谢谢,是添加了
    opengl32.lib
    让我:)哇,经过8个小时的尝试,你用正确的第一条指令解决了我的问题。我从未想过在64位操作系统上使用32位二进制文件会解决我的问题。非常感谢hello world为我工作,但示例boeing.cpp仍然存在一些错误。当我在第6步尝试添加
    glfw3.lib和opengl32.lib
    时,我发现
    无法打开“glfw3.lib”
    错误,有什么建议可以解决它吗?你能写出来吗?我不太记得这个问题,但我想不是Michael写的,而是试试这个:$(IncludePath);C:\Users\\Desktop\glfw-3.0.3.bin.WIN32\include----和----$(LibraryPath);C:\Users\\Desktop\glfw-3.0.3.bin.WIN32\lib-msvc110