在多项目解决方案的VS 2013(C ++)中,我已将一个项目的类型从.lib更改为.dll。引用此库的其他项目将自动更改为引用.dll
我收到以下错误 - 似乎仍然在某处引用了之前的.lib配置。有任何想法如何解决这个问题?
Error 283 error LNK1104: cannot open file 'C..\x64\Debug\File.lib' in '..\Project1\LINK
答案 0 :(得分:1)
默认情况下,Visual Studio在编译为DLL时会生成导入库。导入库也有.lib
扩展名,但它不是静态库。此文件告诉链接器如何在运行时查找DLL并导入外部符号。
如果您没有.lib
文件,则很可能不会导出任何符号。您应该使用__declspec(dllexport)
来选择要向DLL的使用者公开哪些符号。