C++跨dll文件调用函数,编译时无法识别外部信号的一种成因

VS项目,发生在窗口dll和通信dll之间,窗口dll里的文件调用了通信dll中一个单例类的两个函数,去修改单例中的一个bool成员变量为true或false,本是一个非常简单的功能,编译时在窗口dll下却报错无法识别的外部信号,其描述指向了问题源自这两个单例的函数。

经过排查,发现是窗口dll的属性→链接器→动态库附加包含目录中,在靠前的一个路径下有一个通信dll的旧的.lib文件,编译时链接了这个,后面的路径下的该通信dll的.lib文件就不再被链接使用,导致窗口dll下的文件虽然包含了通信dll单例的头文件,能够识别到这两个函数,但是通信dll的.lib文件是旧的,无法找到这两个函数的实现,所以产生无法识别的外部信号的报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值