首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GLFW -与Visual 2012链接的问题

GLFW -与Visual 2012链接的问题
EN

Stack Overflow用户
提问于 2013-01-19 20:29:47
回答 1查看 3.3K关注 0票数 2

我遇到了一个连接GLFW的大问题。我在这个网站和其他网站上看到了很多这样的错误信息,但是当我尝试修复时,错误仍然是一样的。具体的错误是:

代码语言:javascript
复制
Error   1   error LNK2019: unresolved external symbol __imp_SystemParametersInfoA referenced in function _glfwPlatformInit  C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural     Terrain\GLFW.lib(win32_init.obj) Procedural Terrain
Error   2   error LNK2001: unresolved external symbol __imp_SystemParametersInfoA   C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   3   error LNK2001: unresolved external symbol __imp_SystemParametersInfoA   C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_enable.obj)   Procedural Terrain
Error   4   error LNK2019: unresolved external symbol __imp_DispatchMessageA referenced in function _glfwPlatformPollEvents C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   5   error LNK2019: unresolved external symbol __imp_PeekMessageA referenced in function _glfwPlatformPollEvents C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   6   error LNK2019: unresolved external symbol __imp_GetMessageTime referenced in function translateKey  C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   7   error LNK2019: unresolved external symbol __imp_WaitMessage referenced in function _glfwPlatformWaitEvents  C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   8   error LNK2019: unresolved external symbol __imp_DefWindowProcA referenced in function windowProc    C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   9   error LNK2019: unresolved external symbol __imp_PostQuitMessage referenced in function windowProc   C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural      Terrain
Error   10  error LNK2019: unresolved external symbol __imp_RegisterClassA referenced in function registerWindowClass   C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   11  error LNK2019: unresolved external symbol __imp_UnregisterClassA referenced in function _glfwPlatformCloseWindow    C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   12  error LNK2019: unresolved external symbol __imp_CreateWindowExA referenced in function createWindow C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   13  error LNK2019: unresolved external symbol __imp_DestroyWindow referenced in function destroyWindow  C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   14  error LNK2019: unresolved external symbol __imp_ShowWindow referenced in function _glfwPlatformIconifyWindow    C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   15  error LNK2019: unresolved external symbol __imp_SetWindowPos referenced in function _glfwPlatformOpenWindow C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   16  error LNK2019: unresolved external symbol __imp_BringWindowToTop referenced in function setForegroundWindow C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   17  error LNK2019: unresolved external symbol __imp_CharUpperA referenced in function translateKey  C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   18  error LNK2019: unresolved external symbol __imp_CharUpperW referenced in function translateKey  C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   19  error LNK2019: unresolved external symbol __imp_SetFocus referenced in function _glfwPlatformOpenWindow C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   20  error LNK2019: unresolved external symbol __imp_GetAsyncKeyState referenced in function _glfwPlatformPollEvents C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   21  error LNK2019: unresolved external symbol __imp_GetKeyboardState referenced in function translateChar   C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   22  error LNK2019: unresolved external symbol __imp_ToAscii referenced in function translateChar    C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   23  error LNK2019: unresolved external symbol __imp_ToUnicode referenced in function translateChar  C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   24  error LNK2019: unresolved external symbol __imp_MapVirtualKeyA referenced in function translateKey  C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   25  error LNK2019: unresolved external symbol __imp_SetCapture referenced in function _glfwPlatformHideMouseCursor  C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   26  error LNK2019: unresolved external symbol __imp_ReleaseCapture referenced in function _glfwPlatformShowMouseCursor  C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain
Error   27  error LNK2019: unresolved external symbol __imp_GetForegroundWindow referenced in function setForegroundWindow  C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\Procedural Terrain\GLFW.lib(win32_window.obj)   Procedural Terrain

一直到错误50然后..。

代码语言:javascript
复制
Error   51  error LNK1120: 46 unresolved externals  C:\Users\Asher\documents\visual studio 2012\Projects\Procedural Terrain\x64\Debug\Procedural Terrain.exe    Procedural Terrain

我看到了这些错误,并注意到最后的"win32“。我使用64位系统、64位项目(由解决方案平台声明)和GLFW的64位二进制下载。GLFW FAQ页面描述的“未解决的外部符号”的错误表明,链接问题是造成这种情况的原因。但是,我相信我已经为静态库正确地连接了所有的东西。这就是我所做的。

  1. 在Project>Properties>Configuration Properties>Linker>Input>Additional依赖项下,我添加了GLFW.lib opengl32.lib和glu32.lib
  2. 在VC++ Directories>Include目录下,我添加了Directories>Include。
  3. 在VC++ Directories>Library目录下,我添加了Directories>Library。

我没有接触dll,因为我希望使用静态库。另外,这是我的代码

代码语言:javascript
复制
#include "Header.h"

using namespace std;
int main(int argc, char **argv){
//Initializes non-window dependent sources.
 if (!glfwInit())
{
    cout<< "Failed to initialize GLFW";
    return -1;
}
 //Sets window parameters
glfwOpenWindow(0, 0, 0, 0, 0,
           0, 8, 0, GLFW_FULLSCREEN);
//Window name
glfwSetWindowTitle("The GLFW Window");
//Terminates GLFW.
glfwTerminate();
return 0;
}

标头包含

代码语言:javascript
复制
#include <IOstream>
#include <GL\glfw.h>

到目前为止,这个问题还没有得到任何帮助,我被困住了!如果能解决这个问题,我们将不胜感激。- Asher (从我的文件路径中可以看出=D)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-22 05:11:53

如果其他人遇到了类似的问题,那么如何调试这样的问题:

首先,您将注意到,所有链接器错误都引用了win32库中的函数。因此,我们首先尝试直接调用其中一个函数,看看它是否改变了什么。

正如预期的那样,这并没有改变任何事情,这意味着我们在链接user32.lib时遇到了问题。因为默认的Visual项目不应该有这个问题,这要么意味着完整的安装有问题,要么只有特定的解决方案。创建一个新的解决方案解决了这个问题,但如果不是的话,下一步将是重新安装Visual。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14418537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档