CLR dll需要C ++ .lib文件,但非CLR

时间:2018-06-19 16:46:41

标签: c++ dll c++-cli .lib

在一个简单的测试项目中,我有两个C ++编译的dll

NonClrDll::常规C ++ dll(非/clr

包装器:一个/clr编译的dll,目前仅是非托管(本机)代码

要在C ++客户端项目中使用NonClrDll,我要做的就是包括对dll项目的引用和适当的标头代码(as described here)。但是,要使用/clr编译的包装器dll,我还必须添加.lib文件作为附加依赖项(as described here)。我的问题是...

  1. 为什么我不需要为NonClrDll包括.lib文件?我以为项目参考文件已解决了这一问题。是吗?
  2. 如果应该使用项目引用来解决此问题,为什么我需要为/clr编译的包装器添加其他.lib文件依赖项?

1 个答案:

答案 0 :(得分:1)

我相信是因为C ++ / CLI项目的链接器设置“ IgnoreImportLibrary”默认设置为“是”,而本机C ++项目的链接器设置默认设置为“否”。