我有一个Visual Studio解决方案,其中包含各种项目:静态lib项目(创建* .lib文件),动态lib项目(创建* .dll文件)和一个exe项目(创建* .exe文件)
exe项目使用(或更好地说-取决于)静态和动态库。
我在配置属性->链接器->常规中添加了dll文件的路径,并在配置属性->链接器->输入中添加了.lib文件的名称。
问题是,当我尝试构建exe项目时,链接器也出现了相同的错误:
LNK2019无法解析的外部符号...在函数中引用...
每次使用dll函数时都会出现此错误。
项目配置中缺少什么,因此我将满意链接器?
编辑:-导出所需功能的示例:
extern "C" {
void foo1(int i);
void foo2(int i);
...
}
答案 0 :(得分:0)
要使用dll启用exe项目-我需要将__declspec(dllexport)添加到API函数:
#define LIBRARY_API __declspec(dllexport)
extern "C" {
LIBRARY_API void foo1(int i);
LIBRARY_API void foo2(int i);
...
}
然后,编译器还会为每个.dll项目创建.lib,我可以将.lib文件添加到链接器->在项目属性中输入。