【发布时间】:2012-09-18 10:56:32
【问题描述】:
我正在 Visual Studio 2008 中基于第三方 SDK 创建一个 C++ MFC DLL。SDK 提供了一个 TLB 文件夹、一个 Lib 文件夹(仅限 .lib)、一个 Include 文件夹(仅限 .h 和 .hpp)和一个Bin 文件夹(一些 exes、DLL 和 .ax 文件)。我尝试通过以下方式将 SDK 库链接到我的 DLL:
- C/C++ -> 常规 -> 附加包含目录 - 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 编程很陌生。 提前致谢。
【问题讨论】:
标签: c++ visual-studio-2008 dll sdk mfc