当项目类型更改为dll时,仍会引用.lib文件

时间:2013-11-07 22:21:31

标签: c++ dll

在多项目解决方案的VS 2013(C ++)中,我已将一个项目的类型从.lib更改为.dll。引用此库的其他项目将自动更改为引用.dll

我收到以下错误 - 似乎仍然在某处引用了之前的.lib配置。有任何想法如何解决这个问题?

Error   283 error LNK1104: cannot open file 'C..\x64\Debug\File.lib' in '..\Project1\LINK

1 个答案:

答案 0 :(得分:1)

默认情况下,Visual Studio在编译为DLL时会生成导入库。导入库也有.lib扩展名,但它不是静态库。此文件告诉链接器如何在运行时查找DLL并导入外部符号。

如果您没有.lib文件,则很可能不会导出任何符号。您应该使用__declspec(dllexport)来选择要向DLL的使用者公开哪些符号。