Qt5.4.2调用VS2017封装生成的C++外部库

5 篇文章 1 订阅

Qt5.4.2widget App程序调用VS2017封装生成的C++外部库源码链接:https://download.csdn.net/download/wise18146705004/10540428

Qt5.4.2控制台程序调用VS2017封装生成的C++外部库源码链接:https://download.csdn.net/download/wise18146705004/10540457


1,生成.h头文件和 .dll, .lib库

在vs2010中新建工程,在向导中选择DLL,如下图所示:







新建两个文件mydll.h和mydll.cpp

mydll.h代码如下:

 #ifndef MYDLL_H
#define MYDLL_H


#ifdef __cplusplus 
extern "C" {
#endif


	__declspec(dllexport) int myFun(int a, int b);


#ifdef __cplusplus
}
#endif


#endif // !MYDLL_H

mydll.cpp代码如下:

#include "mydll.h"
#include <stdio.h>


int myFun(int a, int b)
{
	printf("myFun is called");
	return a + b;
}

编译运行,在Debug目录下可看到下述文件:

2.在Qt中调用dll和lib库

新建Qt工程LibTest2,将mydll.h文件添加到当前工程的文件夹中,将mydll.lib和mydll.dll文件复制到当前工程文件夹所在目录中;

在LibTest2上右键-添加库-导入外部库-从文件夹中选中.lib文件,参数选项如下图所示:







在mainwindow.cpp中包含“mydll.h”,如:


在构造函数中添加下述代码:

   int test;
      test = myFun(45,45);

      qDebug()<<test;

编译运行,结果如下:

可以看到C静态库已被调用。

高级一点的方法



控制台应用跟这个差不多,前面vs2017封装代码照着hellowold里面看就是了,写法很简单,一个函数在.h里面用一个引出声明一个,在.cpp里面用一个定义。两个就分别写两个就行了,格式都一样的。照着做就行了,然后qt建立一个控制台程序(就建立的时候不一样,其他的都一样),他的函数调用方法直接看后面的代码就知道了。很容易的,一通百通。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人生如路兮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值