【Qt】添加第三方库的知识补充

写在前面

本文将针对QT添加第三方库的过程和原理做一个知识的补充,包括静态库和动态库、MinGW和MSVC、make和makeinstall、debug和release、环境变量等。(C++中同理)

1、库

1.1、静态库

Windows :.lib
Linux\Mac:.a
静态库在编译的时候会被直接拷贝到目标程序里。
(程序打包后,放到没有环境的电脑中,也可以正常运行)

2.2、动态库

Windows :.dll
Linux:.so
Mac: dylib
动态库在编译时并不会被拷贝到目标程序中,只会在运行的时候调用。
(程序打包后,放到没有环境的电脑中,可能无法正常运行;需要把相应的dll动态库一起打包才能正常运行)

2、编译器

2.1、MSVC

MSVC是指微软的VC编译器,主要用于windows下开发。
(使用msvc导入第三方库的时候,库文件一般是.lib)

2.2 MinGW

MinGW是指是Minimalist GNU on Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你 在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方运行时库。
(使用mingw导入第三方库的时候,库文件一般是.a)

MinGW 与MSVC的区别

3、make和make install

3.1、make

make是用来编译的,它从Makefile中读取指令,然后编译。
如果你使用静态库,只需要make即可,生成.lib或者.a

3.2、make insatll

make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
如果你使用动态库,需要make insatll,生成.dll或者.so。一般使用动态库在导入库之前需要配置环境变量。

4、配置环境变量

配置环境变量一般是可执行文件.exe的目录。
我们在程序中调用动态库的话,一般是要头文件lib还有dll。但是我们在程序中一般只引入头文件lib,那么dll呢?这是时候我们就需要配置环境变量,使得系统自动找到dll
如果配置第三方库、则是配置动态库的目录,一般在make insatll之后生成的bin目录中,里面包含dll文件。
如果不配置环境变量的话,则需要把libdll放在同一个文件夹中,在程序中引入。

5、在windows调用静态库

(静态库只需编译,不用make insatll

一般先用cmake生成makefile,或者sln

5.1 MingGw

mingw32-make编译
获取编译好的.a文件
在代码中配置.a文件和头文件(include)

5.2 MSVC

打开camke生成的sln(用vs2019)
选择Debug或者Release,x86\x64
选择ALL_BUILD, 右击, 重新生成
获取输出的.lib文件,区分debug和release
在代码中配置.lib文件和头文件(include)

6、在windows调用动态库

(动态库需要make insatll

调用动态库也离不开lib文件
程序运行的入口在exe里面,当执行exe到动态库内容时,需要跳到内存里的动态库区域,然后执行相关内容;这个动作就需要exe里面存在一个引路人,来告诉exe,这个函数是动态库的函数,需要跳到其他内存区域执行,而这个存在于exe的引路人就是动态库的.lib文件,因为.lib文件会编译进exe文件里,.dll文件不会被编译进exe里面;动态库的.lib文件只提供链接到动态库的功能,它本身不包含库的代码内容。
原文链接:https://blog.csdn.net/qq_40541268/article/details/125154750

一般先用cmake生成makefile,或者sln

5.1 MingGw

mingw32-make编译
然后再mingw32-make install
在输出的目录中一般有一个bin目录,里面有dll
将这个bin目录的路径添加到环境变量
获取编译好的.a文件(一般在lib目录下)
在代码中配置.a文件和头文件(include)

5.2 MSVC

使用camke和visual studio编译并生成动态库
获取dlllib
配置dll目录的环境变量(如果不配置,则把dlllib放在一起)
在代码中配置.lib文件和头文件(include)

7、在VS2019中添加第三方库

Visual Studio 下配置第三方C/C++库的方法

一般动态库这样配置
在这里插入图片描述
在这里插入图片描述
静态库这样配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux下使用Qt来修改打印机的纸盒信息并指定使用哪个纸盒出纸,需要以下步骤: 1. 安装打印机驱动程序:在Linux系统中,需要安装打印机驱动程序才能连接和控制打印机。打印机驱动程序是与打印机型号相关的,可以从打印机制造商的网站上下载和安装。 2. 安装Qt第三方库Qt是一个跨平台的GUI开发框架,可以使用C++编写。Qt支持在Linux下使用第三方库,可以使用第三方库来控制打印机。常用的第三方库包括CUPS和Gutenprint,可以通过软件包管理器来安装。 3. 编写Qt程序:使用Qt Creator或其他文本编辑器来编写Qt程序。程序需要包括以下功能: - 打开打印机:使用打印机驱动程序打开连接到打印机的端口。 - 获取打印机信息:使用打印机驱动程序查询打印机的属性和状态,包括纸盒信息、纸张类型和大小等。 - 修改纸盒信息:使用第三方库来修改打印机的纸盒信息,例如指定哪个纸盒用于打印,设置纸张大小等。 - 打印文档:使用Qt的打印功能来打印文档,可以指定使用哪个纸盒和纸张大小。 4. 编译和运行程序:使用Qt Creator或命令行工具来编译程序,并在Linux系统上运行程序。程序可以通过GUI界面或命令行参数来指定打印机和纸张信息。 总之,在Linux下使用Qt来控制打印机需要安装打印机驱动程序和第三方库,并编写程序来操作打印机。可以通过GUI界面或命令行参数来指定打印机和纸张信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值