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