DLL和测试DLL工程联调的步骤小结

适合阅读:编程新手
平台:VS2013
场景:需要编写动态链接库并调试此DLL
工程:DLL工程,TestDLL工程
遇到的麻烦:在单独的工程下,也就是两个VS同时开着调试,每次都要从DLL文件的DEBUG目录下把生成好的LIB和DLL文件拷贝到TestDLL工程目录下,很是麻烦,寻求解决。
步骤:
(1)新建DLL工程。
(2)新建TestDLL工程。
(3)在TestDLL工程的解决方案下右键-添加-现有项目,找到DLL工程的工程文件然后添加。(说明:此时只是方便联调,并没有发生文件的挪动。)
(4)在TestDLL工程中包含DLL的h头文件和链接lib文件
不同拷贝直接用相对路径即可,类似下面的代码

#include "DLLInterface.h"//DLL头文件的相对或绝对路径
#ifdef _DEBUG
    #pragma comment(lib,"../debug/DLL.lib")
#else
    #pragma comment(lib,"../Release/DLL.lib")
#endif

(5)调试时工程名右键-设为启动项目即可单独调试DLL和测试程序。

遇到的问题:
(1)DLL工程没生成LIB文件,傻瓜原因:cpp 中忘记包含 h 文件,因为是单独添加的可能会忘记。
(2)测试程序报错找不到LIB文件,注意联调时(1个VS)所有LIB,DLL都在DEBUG目录下生成,注意上文步 骤(4)中相对路径的定位,在分开调试的情况下(2个VS),LIB和DLL是在DLL工程自己的DEBUG下的,注意别搞混。
(3)DLL代码头简单示例备忘,可编入VS助手的快捷键中。

dll.h
#ifdef MY_DLL
#else 
#define MY_DLL _declspec(dllimport)
#endif 

MY_DLL void Func();//导出函数
dll.cpp
#define MY_DLL _declspec(dllexport)
#include "DLL.h"
#include "any library needed"

void Func()
{
    //implementation
    return; 
}

后续遇到的问题添加:
在DEBUG下和Release下添加一个宏来依赖不同的Lib就可以不用手动改了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值