在Windows下使用Visual Studio开发应用程序时,程序需要接入SDK,主要是调用SDK的接口实现相关逻辑,同时,如果有SDK的源码,可以通过调试的方式对SDK进行断点调试。
二、SDK准备使用Visual Studio创建my_sdk工程,目录为:E:workspacemy_sdk,在该文件夹下创建.h、.c或.cpp(目录层级自定),文件工程中不要包含main函数,若SDK以动态库的方式提供,则配置工程属性如下:
- 属性 -> 常规 -> 输出目录:E:workspacemy_sdkDebug(非必改,有默认值)
- 属性 -> 常规 -> 目标文件名:my_sdk(非必改,默认为工程名)
- 属性 -> 常规 -> 配置类型:动态库(.dll)(必改)
- 属性 -> 高级 -> 目标文件扩展名:.dll(非必改)
- 属性 -> 链接器 -> 调试 -> 生成调试信息:生成调试信息(/DEBUG)(非必改)
- 属性 -> 链接器 -> 调试 -> 生成程序数据库支持:E:workspacemy_sdkDebugmy_sdk.pdb(非必改)
- 属性 -> 链接器 -> 高级 -> 导入库:E:workspacemy_sdkDebugmy_sdk.lib(非必改)
编译后主要生成的文件:
- E:workspacemy_sdkDebugmy_sdk.lib
- E:workspacemy_sdkDebugmy_sdk.dll
- E:workspacemy_sdkDebugmy_sdk.ilk
- E:workspacemy_sdkDebugmy_sdk.pdb
引入my_sdk,VS工程需要以下配置:
- 属性 -> C/C++ -> 常规 -> 附加包含目录:E:workspacemy_sdk(包含相关头文件所致目录)
- 属性 -> 链接器 -> 常规 -> 附加库目录:E:workspacemy_sdkDebug(若不配置,则附加依赖项需要指定路径)
- 属性 -> 输入 -> 附加依赖项:my_sdk.lib(可指定绝对路径或只指定库名称,若只指定库名称,则需要配置附加库目录)
- 把my_sdk.dll文件拷贝到工程的可执行文件所在目录
至此SDK导入成功,如果需要能够断点调试到SDK的源码,则需要:
- 把my_sdk.ilk和my_sdk.pdb拷贝到工程的可执行文件所在目录



