Qt-导入第三方库

Qt提供了显式和隐式导入第三方库方法,本文首推介绍显示导入方法。

  1,第三方提供的库文件包括ControlCAN.h,ControlCAN.dll和ControlCAN.lib。将ControlCAN.h和ControlCAN.lib放入当前工程目录(其他任何位置均可),ControlCAN.dll文件放在debug和release文件夹中。

  打开.pro文件,右键,选择“添加库”:

在弹出的对话框中选择“”“外部库”

添加ControlCAN.lib

可以在.pro文件中看到上述图中的代码。

 

包含头文件“”ControlCAN.h“”,可以调用库中的API函数,如下代码:

 1 void MainWindow::on_openCanBtn_clicked()
 2 {
 3 if(VCI_OpenDevice(21,0,0)!=STATUS_OK)  4  {  5 qDebug("open Error");  6 return;  7  }  8 int baud = 393223;  9 if (VCI_SetReference(21,0, 0, 0, &baud) != STATUS_OK) 10  { 11 qDebug("set reference error"); 12 VCI_CloseDevice(21,0); 13 return; 14  } 15 16  VCI_INIT_CONFIG init_config; 17 init_config.Mode = 0; 18 19 if(VCI_InitCAN(21,0,0,&init_config)!=STATUS_OK) 20  { 21 qDebug("Init Error"); 22 VCI_CloseDevice(21,0); 23 return; 24  } 25 26 ui->startCanBtn->setEnabled(true); 27 }

 

上述API调用比使用QLibrary的代码更少更方便


2,Qt添加外部库文件,


一种就是直接加库文件的绝对路劲,这种方法简单,但是遇到多个库文件的时候,会很麻烦,而且,如果工程移动位置以后还需要重新配置


另一种就是相对路径了,不过Qt 编译的文件会在一个单独的文件件里面,这里要和vs所好区分



我现在鼓捣出四种种方式来加载库文件


[cpp]  view plain  copy
  1. <pre name="code" class="cpp">LIBS += D:\Code\Opengltest\OpenGL32.Lib D:\Code\Opengltest\GlU32.Lib  
  2.   
  3. LIBS += OpenGL32.Lib GlU32.Lib  
  4.   
  5. LIBS += -L D:\Code\Opengltest\ -lOpenGL32 -lGlU32  
  6.   
  7. LIBS += -L ./ -lOpenGL32 -lGlU32  

 

第一种就是直接加据对路径


第二种就是直接加库文件,这个的前提是你的库文件必须在工程目录下


第三种就是 多个库在同一个文件夹下的时候,连接使用


第四种 就是相对路径。



### 在Qt项目中添加和使用第三方库文件的方法 在Qt项目中引入第三方库是一个常见需求,可以通过多种方式完成这一操作。以下是详细的说明: #### 修改 `.pro` 文件 通过编辑 Qt 项目的 `.pro` 文件来指定第三方库的位置及其头文件路径是最常用的方式之一。具体来说,可以按照以下格式设置 `INCLUDEPATH` 和 `LIBS` 参数。 - **设置头文件路径** 使用 `INCLUDEPATH` 定义包含第三方库头文件的目录位置。这使得编译器能够找到所需的头文件。 ```plaintext INCLUDEPATH += C:/Path/To/Library/HeaderFiles ``` - **链接文件** 利用 `LIBS` 变量定义文件的具体位置以及其名称。例如: ```plaintext LIBS += -LC:/Path/To/Library/LibFiles -lLibraryName ``` 上述 `-L` 表示所在的目录,而 `-l` 后面跟的是不带前缀(如 lib)和扩展名的实际名[^1]。 #### 图形化界面操作 除了手动修改 `.pro` 文件外,还可以借助 Qt Creator 提供的图形化工具简化流程。右击项目名称,在弹出菜单里选择 “Add Library…” 菜单项,随后根据向导指引逐步完成外部的选择与配置过程[^4]。 #### 示例代码展示 假设我们要在一个 Windows 平台下的 Qt 工程中集成 Npcap ,则可以在 .pro 文件中加入如下内容[^3]: ```plaintext INCLUDEPATH += C:/Program\ Files/Npcap/Include LIBS += -LC:/Program\ Files/Npcap/Lib -lwpcap ``` 注意这里反斜杠 `\` 是用来转义空格字符的必要手段。 对于跨平台支持情况,可能还需要考虑不同操作系统下不同的动态链接后缀等问题。比如 Linux 下通常是以 `.so` 结束,而在 macOS 则可能是 `.dylib` 形式。 另外值得注意的一点是关于调试版(debug) vs 发布版(release),有时两者会分别对应独立版本号或者命名约定区别对待;因此实际应用时需依据具体情况调整相应参数设定。 如果涉及到中文环境下面临编码转换挑战的话,可通过追加特定标志位解决潜在乱码现象发生风险: ```cpp #pragma execution_character_set("utf-8") // 或者直接于 pro 文件内部声明全局选项生效范围更广些 QMAKE_CXXFLAGS += /utf-8 ``` 最后一步就是编写业务逻辑部分了——即如何调用所加载进来的那些 API 接口函数啦!比如说针对 MATLAB 的话就需要先初始化 engine 实例对象实例之后再进一步交互下去[^5]: ```cpp #include "engine.h" int main(){ Engine *matlabEngine = engOpen(nullptr); if(!matlabEngine){ qDebug() << "Failed to open matlab engine."; return EXIT_FAILURE; } // Your code here... } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值