VS中链接lib和dll总结,以及错误0xc000007b的处理方法

在windows下面基于VS开发C++/C程序,链接外部库时dll和lib都是必不可少的,lib是编译时用到的,dll是运行时用到的。(参考:lib 和 dll 的区别、生成以及使用详解

VS在生成解决方案时会按照当前路径、属性表中的库目录和环境变量中的路径链接所需库文件。例如在配置opencv时,一般会在包含目录中添加头文件路径,库目录添加lib路径,而在环境变量中添加dll路径即bin文件夹。修改这些路径之后VS不会对当前的解决方案更新这些修改,因此修改之后务必把VS工程文件删除清理一下,按照新的路径全部重新生成。


配置好一个工程之后可以将属性表保存,下次新建的工程若配置相同便可以直接应用。

具体做法是打开VS-视图-属性管理器,然后将管理器中对应的.user文件保存,下次新建项目之后再次打开,在对应的配置如(Release|Win32)下右击选择添加现有属性表即可完成配置。


运行报错0xc000007b的原因一般就是dll链接错误,要么是找不到lib相应的dll,要么是版本不对,如32位、64位的差别。因此出现这种情况首先需要:

1.先查看一下自己的程序依赖哪些库

打开VS-工具-VS命令提示,输入下方代码即可查看:

dumpbin /dependents D:\WM-IMU\code\Multi_Wheel_INS\Release\Wheel_INS.exe

2.然后看程序会在哪些文件夹下面找到这些库

在VS下方调试输出窗口可以看到VS加载dll的路径

3.再确认这些库的版本是否正确

同样的,在VS命令提示窗口可以确认dll的版本,输入命令:

dumpbin /headers C:\Windows\SysWOW64\kernel.appcore.dll

标注处标明该dll是32位的,若没有此信息则为64位。

4.如果上述都没有问题,则需要在第二步查看程序是否成功链接了外部的dll,若没有,则需要在环境变量中添加该路径,或者将所需dll拷贝到当前目录。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值