构建dll时,导出函数没有丢失实现的警告/错误

rya*_*anb 5 c++ dll

我注意到在Visual Studio中创建一个dll时,一个声明为__declspec(dllexport)没有实现的函数会从dll中静默删除.因此,在客户端调用该特定函数之前不会遇到任何错误,并且会生成未满足的链接错误.

今天我遇到了这个问题,当一位同事重命名了一个函数,但只提交了标题中的更改而不是源文件,并且从那时起我的dll导出中的函数被默默地删除了.

我在VS2013中尝试过警告级别4,甚至没有出现警告.

我现在想知道我们的库中是否还有其他错误配对.当然,如果编译器至少警告过这个会很好,但理想情况下这会导致错误.

问题,有没有人知道如何在Visual Studio中为dllexport缺少实现导致警告/错误?

我们在所有流行的操作系统和编译器上构建我们的库,并且所有构建都没有错误(尽管可能是我们从未注意到的警告......)