新开发动态库,在加载的时候失败,GetLastError返回值为0。使用工具Depends.exe查看显示: 入口点未发现;而另一个工程和此工程都链接了一个相同的lib,但是另一个工程在使用时未发现问题。对比两个VS工程的工程属性发现:有问题的工程使用了Linker -- Optimization -- References -- Eliminate Unreferenced Data (/OPT:REF), 修改为Default问题解决。
发生链接函数错误(用depends.exe发现函数链接错误)时,请注意 “Optimization”项的配置,
“References”选“Eliminate Unreferenced Data (/OPT:REF)”,
“Enable COMDAT Folding”选“Remove Redundant COMDATs (/OPT:ICF)”