繁体   English   中英

Visual Studio Express 2015中的LNK1107 opengl32.dll

[英]LNK1107 opengl32.dll in Visual Studio Express 2015

我正在尝试编译一些非常简单的代码,以确保在编写几行代码之前没有任何无法预料的链接器问题。

#include <iostream>
#include <GLFW/glfw3.h>

int main()
{
    if (!glfwInit())
    {
        std::cout << "Glfw initialization failed\n";
    }

    return 0;
}

但是,当我尝试构建时出现以下错误:“ LNK1107无效或损坏的文件:无法在0x2E8读取”。 我的项目是x64,所以我假设我可能是用32位体系结构链接了错误的dll,并在记事本中检查了其PE标头。 但是,“ PE d” d表示它是x64,L表示它是x86。 我从另一个关于SO的问题中得到的建议。

我尝试在不同目录中链接多个opengl32.dllC:\\Windows\\SysWOW64\\opengl32.dllC:\\Windows\\System32\\opengl32.dllC:\\Windows\\WinSxS\\amd64_microsoft-windows-opengl_31bf3856ad364e35_10.0.14393.0_none_3c39618da01a51a8\\opengl32.dll

没有成功 我无法为我的特殊情况找到任何答案,我们将不胜感激。

在Windows上,您必须链接导出.lib库,而不是.dll。 导出.lib通常是在编译.dll时产生的,尽管OpenGL的.lib是一个与opengl32.dll独立创建的API库,后者是视频驱动程序软件包的一部分。 您还需要GLFW中的.lib。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM