C++ Visual Studio 10中的GLFW链接器错误

C++ Visual Studio 10中的GLFW链接器错误,c++,visual-studio-2010,linker,linker-errors,glfw,C++,Visual Studio 2010,Linker,Linker Errors,Glfw,在Visual Studio 10.0上设置GLFW时遇到问题 我在学习教程。然而,我仍然得到链接错误 1>GLFW.lib(window.obj) : error LNK2005: __glfwClearWindowHints already defined in window.obj 1>GLFW.lib(window.obj) : error LNK2005: __glfwClearInput already defined in window.obj 1>GLFW.li

在Visual Studio 10.0上设置GLFW时遇到问题 我在学习教程。然而,我仍然得到链接错误

1>GLFW.lib(window.obj) : error LNK2005: __glfwClearWindowHints already defined in window.obj
1>GLFW.lib(window.obj) : error LNK2005: __glfwClearInput already defined in window.obj
1>GLFW.lib(window.obj) : error LNK2005: __glfwInputKey already defined in window.obj
1>GLFW.lib(window.obj) : error LNK2005: __glfwInputChar already defined in window.obj
1>GLFW.lib(window.obj) : error LNK2005: __glfwInputMouseClick already defined in window.obj
1>GLFW.lib(window.obj) : error LNK2005: __glfwChooseFBConfig already defined in window.obj
1>GLFW.lib(window.obj) : error LNK2005: __glfwInputDeactivation already defined in window.obj
1>GLFW.lib(init.obj) : error LNK2005: __glfwInitialized already defined in init.obj
1>GLFW.lib(glext.obj) : error LNK2005: __glfwParseGLVersion already defined in glext.obj
1>GLFW.lib(glext.obj) : error LNK2005: __glfwStringInExtensionString already defined in glext.obj
1>GLFW.lib(glext.obj) : error LNK2005: __glfwRefreshContextParams already defined in glext.obj
1>MSVCRTD.lib(cinitexe.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
我试着用谷歌搜索错误,但没有找到多少帮助。 我在链接器设置中链接了opengl32/lib和glu32.lib。 我还为include和lib链接了相应的文件夹。 我从GLFW站点下载并链接了win32二进制文件和原始zip


非常感谢您的帮助。

该教程有点过时(发布于2005年4月27日)。您可能将一些源文件两次添加到两个不同的项目中,从而导致了对现有符号定义的抱怨

GLFW 2.7.x似乎不包括MSVC makefile脚本,用于自动生成所需的所有内容,但如果可以选择切换到最新的GLFW 3.0,则可以使您的生活更轻松,因为它们支持cmake:

  • 确保您同时安装了和
  • 从gitbash运行
    Git克隆git://glfw.git.sourceforge.net/gitroot/glfw/glfw glfw
  • 然后打开Visual Studio命令提示符并切换到新创建的glfw文件夹。创建新的子文件夹(
    mkdir build
    )并切换到此子文件夹(
    cd build
  • 现在运行
    cmake-G“VisualStudio10Win64”。
    它生成用于编译GLFW的项目文件
  • 打开该项目文件并编译所有需要的内容(只需要GLFW子项目)

我该怎么做?我对VS有些陌生。您可以在“开始”菜单中找到Visual Studio developer命令提示符。它只是一个普通的cmd.exe实例,但是设置了一些环境变量以允许从控制台使用编译器。明白了,但是我应该键入什么来调用它?顺便谢谢你的帮助!您需要切换到使用cd c:\path\to\GLFW将GLFW zip文件解压缩到的文件夹,然后键入compile.batit表示“此时GOTO是意外的”