qt-C++笔记之使用QProcess去执行一个可执行文件时指定动态库所存放的文件夹lib的路径

qt-C++笔记之使用QProcess去执行一个可执行文件时指定动态库所存放的文件夹lib的路径

在这里插入图片描述

参考博文:
1.C++笔记之执行一个可执行文件时指定动态库所存放的文件夹lib的路径
2.Linux笔记之LD_LIBRARY_PATH详解
3.qt-C++笔记之使用QProcess去执行一个可执行文件时指定动态库所存放的文件夹lib的路径

code review!

文章目录

  • qt-C++笔记之使用QProcess去执行一个可执行文件时指定动态库所存放的文件夹lib的路径
      • Linux 示例
      • Windows 示例

在Qt C++中,当你使用 QProcess来启动一个可执行文件,并且需要指定动态库(如.so或.dll文件)所在的目录时,可以通过设置环境变量来实现。在Linux系统中,通常是设置 LD_LIBRARY_PATH环境变量;在Windows系统中,则是设置 PATH环境变量。

以下是一个如何使用QProcess并设置环境变量的示例:

Linux 示例

#include <QProcess>
#include <QString>
#include <QStringList>
#include <QCoreApplication>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 创建一个 QProcess 实例QProcess process;// 设置环境变量,假设动态库在 /path/to/lib 目录下QProcessEnvironment env = QProcessEnvironment::systemEnvironment();env.insert("LD_LIBRARY_PATH", "/path/to/lib");process.setProcessEnvironment(env);// 启动外部程序,假设外部程序的名称是 myExternalAppprocess.start("/path/to/myExternalApp");// 等待程序启动process.waitForStarted();// ... 你的代码 ...return a.exec();
}

Windows 示例

#include <QProcess>
#include <QString>
#include <QStringList>
#include <QCoreApplication>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 创建一个 QProcess 实例QProcess process;// 设置环境变量,假设动态库在 C:\path\to\lib 目录下QProcessEnvironment env = QProcessEnvironment::systemEnvironment();QString path = env.value("PATH");path.prepend("C:\\path\\to\\lib;");env.insert("PATH", path);process.setProcessEnvironment(env);// 启动外部程序,假设外部程序的名称是 myExternalApp.exeprocess.start("C:\\path\\to\\myExternalApp.exe");// 等待程序启动process.waitForStarted();// ... 你的代码 ...return a.exec();
}

请注意,LD_LIBRARY_PATHPATH环境变量的具体设置可能会根据你的系统环境和需求有所不同。上述代码只是一个基本的框架,可能需要根据实际情况进行调整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/266603.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为HCIP Datacom H12-821 卷3

1.单选题 四台路由器运行 IS-IS 且已经建立邻接关系&#xff0c;区域号和路由器的等级如图中标记&#xff0c;则 R4到达 10.0.2.2/32 的的 Cost 值为多少? A、40 B、10 C、20 D、30 正确答案&#xff1a; D 解析&#xff1a; 由于没有配置路由渗透&#xff0c;所以R4会选择…

springboot-基础-eclipse配置+helloword示例

备份笔记。所有代码都是2019年测试通过的&#xff0c;如有问题请自行搜索解决&#xff01; 下一篇&#xff1a;springboot-基础-添加model和controller的简单例子常用注解含义 目录 配置helloword示例新建项目创建文件 配置 spring boot官方有定制版eclipse&#xff0c;也就是…

主数据管理是数字化转型成功的基石——江淮汽车案例分享

汽车行业数字化转型的背景 在新冠疫情导火索的影响下&#xff0c;经济全球化政治基础逐渐动摇。作为全球最大的汽车市场&#xff0c;我国的汽车市场逐渐由增量转为存量市场。 在数字化改革大背景下&#xff0c;随着工业4.0时代的到来&#xff0c;江淮汽车集团力争实现十四五数…

Java的运行机制与Java开发环境的搭建

1.编译和执行 首先通过文本编辑器编写源程序&#xff08;后缀为.java&#xff09;&#xff0c;再利用编译器编译成字节码文件&#xff08;后缀为.class&#xff09;,最后利用虚拟机也叫解释器解释执行。 2.JVM、JRE和JDK的区别 简单来说&#xff0c; ①JVM 提供了运行 Java 程…

小狐狸chat2.7.2免授权修复版可用版

小狐狸chat2.7.2免授权修复版可用版 在网络上面找了好几个版本不能使用&#xff0c;今天发布这个仔细测试正常使用 主要功能&#xff1a;独立版无限多开支持分销会员充值自己APP打包小程序万能创作MJ绘图多个国内接口 国外很火的ChatGPT&#xff0c;这是一种基于人工智能技术…

百度SEO工具,自动更新网站的工具

在网站SEO的过程中&#xff0c;不断更新网站内容是提升排名和吸引流量的关键之一。而对于大多数网站管理员来说&#xff0c;频繁手动更新文章并进行SEO优化可能会是一项繁琐且耗时的任务。针对这一问题&#xff0c;百度自动更新文章SEO工具应运而生&#xff0c;它能够帮助网站管…

【EI会议征稿通知】第五届计算机信息和大数据应用国际学术会议(CIBDA 2024)

第五届计算机信息和大数据应用国际学术会议&#xff08;CIBDA 2024&#xff09; 2024 5th International Conference on Computer Information and Big Data Applications 第五届计算机信息和大数据应用国际学术会议&#xff08;CIBDA 2024&#xff09;将于2024年3月22-24日在…

5G时代对于工业化场景应用有什么改善

5G 不仅仅是 4G 的技术升级&#xff0c;而是将平板电脑和智能手机的技术升级。除了更好的高清视频流和其他高带宽应用&#xff0c;消费者不会注意到很多性能差异。然而&#xff0c;在工业领域&#xff0c;5G 代表着巨大的飞跃。 在工厂和厂房内&#xff0c; 设备的Wi-Fi 网络经…

2024年工控人职场求生之路

2024年&#xff0c;眼看项目多了活儿忙了 工控工程师们开始上演飞驰人生 不是跑去客户那里调设备 就是在电脑上搭项目做画面搭系统 每天都过热辣滚烫 你说忙吧&#xff0c;每天也就干那些事儿 你说多有成就感呐 我觉得我能有绝对的主导权和话语权 那都是天方夜谭 2024年…

php 把数字转化为大写中文

1. 120002129.25 转化后壹億贰仟萬贰仟壹佰贰拾玖圆贰角伍分2. 12000.2145 转化后壹萬贰仟圆贰角壹分肆厘伍毫3. 1020001211 转化后壹拾億贰仟萬壹仟贰佰壹拾壹圆整大致思路这样的: 从小数点分割成两部分,整数部分和小数部分分别处理。 整数四个一组进行处理,用substr函数分…

进制转换md5绕过 [安洵杯 2019]easy_web1

打开题目 在查看url的时候得到了一串类似编码的东西&#xff0c;源码那里也是一堆base64&#xff0c;但是转换成图片就是网页上我们看见的那个表情包 ?imgTXpVek5UTTFNbVUzTURabE5qYz0&cmd 我们可以先试把前面的img那串解码了 解码的时候发现长度不够&#xff0c;那我们…

Android实现CoverFlow效果控件的实例代码

计算概率分布的相关参数时&#xff0c;一般使用 scipy 包&#xff0c;常用的函数包括以下几个&#xff1a; pdf&#xff1a;连续随机分布的概率密度函数 pmf&#xff1a;离散随机分布的概率密度函数 cdf&#xff1a;累计分布函数 百分位函数&#xff08;累计分布函数的逆函…

(科目三)计算机操作系统

1、操作系统的基本概念及功能 1.1概念 一、操作系统的概念 操作系统是运行在裸机之上的&#xff0c;控制和管理计算机硬件和软件资源、合理组织计算机工作流程一级方便用户操作的程序集合。 操作系统由一套分层次的控制程序组成&#xff0c;是计算机硬件的一级扩充是软件系…

C++的继承和多态

继承和多态 继承继承的权限继承的子父类访问派生类的默认成员函数菱形继承&#xff08;C独有&#xff09;【了解】虚拟继承什么是菱形继承&#xff1f;菱形继承的问题是什么&#xff1f;什么是菱形虚拟继承&#xff1f;如何解决数据冗余和二义性的继承和组合的区别&#xff1f;…

平台工程与安全

平台工程不是为了取代DevOps&#xff0c;而是DevOps的进一步演进和发展。本文介绍了DevOps和平台工程&#xff0c;以及对于安全的意义。原文: Platform Engineering and Security: A Very Short Introduction 中国云南大理的日落 我是一名 DevOps 工程师&#xff0c;个人还是希…

Vue.js+SpringBoot开发社区买菜系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 数据中心模块2.1.2 菜品分类模块2.1.3 菜品档案模块2.1.4 菜品订单模块2.1.5 菜品收藏模块2.1.6 收货地址模块 2.2 可行性分析2.3 用例分析2.4 实体类设计2.4.1 菜品分类模块2.4.2 菜品档案模块2.4.3…

FRM模型十二:极值理论

目录 极值理论介绍GEVPOT 代码实现 极值理论介绍 在风险管理中&#xff0c;将事件分为高频高损、高频低损、低频高损、低频低损。其中低频高损是一种非常棘手的损失事件&#xff0c;常出现在市场大跌、金融体系崩溃、金融危机以及自然灾害等事件中。 由于很难给极端事件一个准…

嵌入式驱动学习第一周——git的使用

前言 本文主要介绍git的使用&#xff0c;包括介绍git&#xff0c;gitee&#xff0c;以及使用gitee创建仓库并托管代码 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程&#xff0c;未来预计四个月将高强度更新本专栏&#xff0c;喜欢的可以关注本博主并订阅本专栏&#xf…

阿里最新EMO:只需要提供一张照片和一段音频,即可生成会说话唱歌的AI视频

只要一张照片加上音频&#xff0c;就能让你说话唱歌&#xff0c;阿里做到了。 最近&#xff0c;阿里新上线了一款AI图片-音频-视频模型技术EMO&#xff0c;用户只需要提供一张照片和一段任意音频文件&#xff0c;EMO即可生成会说话唱歌的AI视频。以及实现无缝对接的动态小视频…

JavaScript-关于事件、事件流(捕获、冒泡)、事件源、常用事件

1.如何注册事件(如何绑定事件) ​ 何为注册事件&#xff0c;就是给元素添加事件&#xff0c;其方式有传统注册事件、方法监听注册事件。 0、1级事件&#xff08;传统注册事件&#xff09;不允许多个响应程序 我们在元素内或js内使用on的方式就是传统注册事件&#xff0c;这种形…