动态链接库和0cx000007b错误

本人想在电脑上配置一个程序的环境,直接从官网下载了编译好的静态库lib和动态库dll,环境配置好之后编译也成功了,却无法运行,显示出错0cx000007b。出现这种情况的可能性是有很多种的,我在一一排查之后,才确定了我的原因。
1、dll和lib32位或者64位不匹配
一般我们都能正确配置lib,使lib和我们的编译生成环境的位数相同,否则就会报错,显示无法找到lib。但是如果dll位数不同,我们虽然能编译成功,但是因为dll是动态链接库,只有运行exe的时候,才会根据路径去链接dll,如果dll和你exe要求的位数不同,就会报出000007b的错误。
2、dll放置路径错误
dll正确的放置路径:放置在exe同一个文件夹内,或者放置system32和sysWOW64里面,这里需要注意的是system32放的是64位的dll,而sysWOW64放置的是32位的dll,如果颠倒的话可能也会出错。
3、directX的问题
网上很多都会提到DirectX的问题,如果系统没有安装,也会出现000007的错误,建议去网上下载一个进行安装。
4、dll和lib与你的系统环境不兼容
这个就是我所碰到的问题,我的系统是win10、64位,在我保证上述这几个问题都解决的情况下,我的程序仍然报出000007b的错误。我直接编译了一个dll文件,测试发现和exe链接是没问题的,所以我猜测是兼容性的问题。于是使用cmake从网上下载源码,编译生成lib和dll文件,加入程序后成功运行。因此建议尽量不要直接下载官网编译好的库,多用cmake编译自己,可以避免很多不必要的错误浪费时间。
(本人刚转入计算机,很多术语可能有问题,望见谅)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值