windows – 为什么在链接.lib后会出现丢失的dll错误?
发布时间:2020-12-14 03:52:08 所属栏目:Windows 来源:网络整理
导读:我从1999年开始研究这个 Windows程序.我无法在Visual Studio中构建它,因为它一直给我链接器关于缺少符号的错误.然后我的同事告诉我尝试从原始项目中获取.lib文件,并尝试将它们指定为其他链接依赖项.我做到了,程序链接得很好.当我试图运行它时,它抱怨丢失了dl
我从1999年开始研究这个
Windows程序.我无法在Visual Studio中构建它,因为它一直给我链接器关于缺少符号的错误.然后我的同事告诉我尝试从原始项目中获取.lib文件,并尝试将它们指定为其他链接依赖项.我做到了,程序链接得很好.当我试图运行它时,它抱怨丢失了dll文件.所以我发现在一些旧计算机上运行的Windows程序的现有副本,复制了dll文件,我的构建开始工作!这是我生命中最快乐的一天,但我不太清楚发生了什么.
任何人都可以简单地解释一下Windows中的lib文件以及它们与dll的关系吗? 解决方法
Windows上有.LIB文件的两种用法. Ken提到了其中一个,这是用于静态链接,但还有另一个用途,称为导入库,这就是你在这里所拥有的.如果您自己构建.DLL,则可以选择为其生成导入库.这样做的结果是您可以像对常规静态库一样链接.LIB文件,但.LIB实际上只包含用于从DLL加载入口点的样板代码.
这很有用的原因是您可能需要将代码分发为dll(例如,您可以独立于主应用程序更新它,或者将dll作为插件提供),但它使得链接更容易,因为.LIB处理LoadLibrary()和GetProcAddress()调用,以便您不必这样做.它还可以从dll加载类定义,而您自己无法使用GetProcAddress(). 有关MSDN的更多信息 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows – v8_base.lib(作为node.js的一部分编译)是huuuug
- windows-8 – 可以在WinRT中创建IME吗?
- Windows下串口编程
- windows – 请求的操作需要提升
- windows-server-2008 – 两个本地网络,但Windows Web Serve
- 窗口 – 为什么WriteFile在写入标准输出时崩溃?
- windows-phone-7 – WP7-ListBox:我应该使用Tap还是Select
- 在Windows上从Web浏览器登录没有用户名和密码
- windows-server-2003 – Server 2003缺少NETLOGON文件夹
- windows-xp – 远程桌面会话中的键盘问题
推荐文章
站长推荐
- windows – 在lua中使用os.execute时如何避免弹出
- ASP木马Webshell安全解决方案
- windows – Haskell,GHC,win32,cairo
- 如何在Qt中设置按钮的背景颜色后保留Windows Aer
- windows – 在win XP命令行中同时将输出重定向到
- Windows中的bower init命令错误(gitbash)
- 微信创建菜单报 must use utf-8 charset hint 错
- windows-server-2008 – 无法连接到Active Direc
- mingw – 程序入口点_gxx_personality_v0无法在动
- windows – 如何判断用户映射的网络驱动器?
热点阅读