我遇到了一个连接GLFW的大问题。我在这个网站和其他网站上看到了很多这样的错误信息,但是当我尝试修复时,错误仍然是一样的。具体的错误是:
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然后..。
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页面描述的“未解决的外部符号”的错误表明,链接问题是造成这种情况的原因。但是,我相信我已经为静态库正确地连接了所有的东西。这就是我所做的。
我没有接触dll,因为我希望使用静态库。另外,这是我的代码
#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;
}标头包含
#include <IOstream>
#include <GL\glfw.h>到目前为止,这个问题还没有得到任何帮助,我被困住了!如果能解决这个问题,我们将不胜感激。- Asher (从我的文件路径中可以看出=D)
发布于 2013-01-22 05:11:53
如果其他人遇到了类似的问题,那么如何调试这样的问题:
首先,您将注意到,所有链接器错误都引用了win32库中的函数。因此,我们首先尝试直接调用其中一个函数,看看它是否改变了什么。
正如预期的那样,这并没有改变任何事情,这意味着我们在链接user32.lib时遇到了问题。因为默认的Visual项目不应该有这个问题,这要么意味着完整的安装有问题,要么只有特定的解决方案。创建一个新的解决方案解决了这个问题,但如果不是的话,下一步将是重新安装Visual。
https://stackoverflow.com/questions/14418537
复制相似问题