我注意到在Visual Studio中创建一个dll时,一个声明为__declspec(dllexport)但没有实现的函数会从dll中静默删除.因此,在客户端调用该特定函数之前不会遇到任何错误,并且会生成未满足的链接错误.
今天我遇到了这个问题,当一位同事重命名了一个函数,但只提交了标题中的更改而不是源文件,并且从那时起我的dll导出中的函数被默默地删除了.
我在VS2013中尝试过警告级别4,甚至没有出现警告.
我现在想知道我们的库中是否还有其他错误配对.当然,如果编译器至少警告过这个会很好,但理想情况下这会导致错误.
问题,有没有人知道如何在Visual Studio中为dllexport缺少实现导致警告/错误?
我们在所有流行的操作系统和编译器上构建我们的库,并且所有构建都没有错误(尽管可能是我们从未注意到的警告......)
归档时间: |
|
查看次数: |
172 次 |
最近记录: |