这个教程主要是讲怎么使用动态库(.dll)文件,并且顺便讲一下pro文件的编写文件配置。
首先使用库文件那么我们得有库文件,那么我们可以自己先编写一个简单测试的库文件,库文件的编写可以看: Qt创建并使用共享库(.dll .so) 这篇文章。
debug目录下会生成 SharedLibd.dll 和 SharedLibd.lib 文件,注意文件末尾有 d.
release目录下会生成 SharedLib.dll 和 SharedLib.lib 文件,注意文件末尾不带 d.
2.新建一个桌面Qt应用项目: 1).新建gui程序: 2).新建名称为 : SharedLibWidgetTest: 3).我们选择Widget: 4).我们得到的目录结构如下:5).开始使用动态库文件:
先在程序目录下新建一个 3rdparty 文件夹
3rdparty 文件夹里的目录结构如下:
3rdparty/
- SharedLib/
- include/
- sharedlib_global.h
- sharedlib.h
- lib/
- SharedLibd.lib
- SharedLib.lib
可以看到上面的目录结构里有 sharedlib_global.h , sharedlib.h , SharedLibd.lib , SharedLib.lib 文件,这些文件就是我们事先准备好的库文件和库的头文件。
但是有没有发现 debug 和 release 生成的 SharedLibd.dll , SharedLib.dll 文件没有用到?
我们需要把这两个文件拷贝到 "构建目录" 里:
SharedLibd.dll文件放到debug文件夹里(release就放在release的构建目录下的release文件夹里):
然后右键项目 "添加库"
选择"外部库"
选择lib文件:
pro文件会自动生成:
6).我们在 widget.h 里添加库的头文件:并且声明一个库文件的 m_lib 全局变量
设计下widget的ui界面:
调用库的add函数:
运行程序就可调用库函数,进行计算了
3.修改Pro文件,管理自动生成的文件路径,以及exe生成位置:修改Pro文件,方便管理Pro文件里生成的其他文件的路径,以及修改exe生成的路径.
1).增加pri文件,管理生成的其他文件时自动生成的文件路径:现在我们程序目录下生成文件夹 main123
文件放在目录下后,我们修改Pro文件,加载main123文件夹到项目里:
pro文件里增加上面的代码后,左侧目录就会自动把main123文件夹加载进来:
但是我们想让下面的widget.h,widget.cpp,widget.ui,main.cpp文件也放到main123文件夹里:
我们先到程序目录下,把文件放到main123里
移动完毕后我们修改pri文件如下:
然后回到Pro文件里把如下代码删掉:
保存文件,左侧目录结构就变成如下结构了:
整理下Pro文件:
注意的地方:
① 这里的 { 不能换行,换行后会提示
② 这里就是指定exe程序生成的位置了
程序代码: https://pan.baidu.com/s/1R5stz9cEhTXuHoNNqzXBFg?pwd=arrv 提取码: arrv
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)