DLL Project不生成.exp和.lib文件

The*_*777 6 c++ dll visual-studio-2010

所以,我有一个c ++解决方案,其中包含3个项目(2个DLL和1个.exe).

这是基本的依赖表示:

应用程序 - > DLL2

应用程序 - > DLL1

DLL2 - > DLL1

我遇到的问题是DLL2(构建它时)确实生成.dll但不生成.lib和.exp我需要在Application项目中正确引用DLL2.但是,DLL1确实生成了这些文件,并且我已经将DLL1的设置与DLL2进行了比较,但我无法找到它们之间的区别.

Han*_*ant 9

对此的简单解释是您忘记导出任何东西.如果没有导出,链接器将不会创建.lib/.exp文件.您可以通过dumpbin.exe /exports在DLL上运行来验证这一点.期待你什么也看不见.

用于__declspec(dllexport)从DLL导出符号.或.def文件.


The*_*777 6

问题是 DLL2 只有 .h 文件,并且在任何关联的 .cpp 文件中都没有内容。所以 IDE 没有看到创建 .lib 文件的必要性。

  • 谢谢这个答案帮助了我。我还必须添加至少一个 `static __declspec(dllexport)` 方法来使 `lib` 文件出现 (2认同)