Visual Studio C ++解决方案由C ++中的两个项目组成:
客户端和Algo通过COM层进行通信,因此Algo是一个COM dll。
我想在Algo.dll中添加一个函数并直接从客户端调用它,避免使用COM层,但是没有成功解决"未解析的符号"构建Client.exe时链接错误
尝试了什么?
在Algo项目中,我添加了LIBRARY_EXPORT预处理器定义和以下文件: TestFile.h
#ifdef LIBRARY_EXPORTS
# define LIBRARY_API __declspec(dllexport)
#else
# define LIBRARY_API __declspec(dllimport)
#endif
extern "C" LIBRARY_API bool __stdcall TestFunction();
TestFile.cpp
extern "C" LIBRARY_API bool __stdcall TestFunction()
{
return true;
}
在客户端项目中,调用TestFunction();
构建客户端时出现链接错误: 未解决的外部符号" __ declspec(dllimport)bool __cdecl TestFunction(void)
显然,我没有正确地导出/导入我的功能。
答案 0 :(得分:1)
您需要将algo.lib添加到client.exe的链接器输入文件