我在 Visual Studio 2008 中创建基于第三方 SDK 的 C++ MFC DLL。SDK 提供 TLB 文件夹、Lib 文件夹(仅限 .lib)、Include 文件夹(仅限.h 和 .hpp)和 Bin 文件夹(一些 exes、DLL 和 .ax 文件)。我尝试通过以下方式将 SDK 库链接到我的 DLL:
- C/C++ -> General -> Additional Include Directories - Bin、Include 和 TLB 文件夹(以防万一);
- 链接器 -> 常规 -> 附加库目录 - Lib 和 Bin;
- 链接器 -> 输入 -> 附加依赖项 - Lib 文件夹中的 .lib
这样做我会因为链接问题(未声明的标识符等)而编译错误,所以我为 TLB 添加了一个导入行:
#import "C:\Path\To\Tlb.tlb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
这会弹出另一个关于类型重新定义的编译错误:
error C2011: '_SYSTEMTIME' : 'struct' type redefinition
我错过了什么?我对 Windows 编程很陌生。提前致谢。