linux C++打包程序总结
linux c++ 动态库打包 应用程序打包 动态库搜索路径

  1. 问题
    linux环境下打包C++应用程序,包括依赖的动态库,以便解决程序发布后程序运行动态库缺失问题
  2. 解决
     动态库编译时添加-fPIC编译选项(一般动态库都会有此选项,自己写的库记得添加)
     -fPIC: 生成与位置无关代码
     编译自己的应用程序,得到test
     打包动态库:使用pack_lib.sh脚本将test依赖的动态库至某文件夹(如可在发布的程序根目录下新建lib文件夹,如下所示)
    bin/test
    lib/
    #! /bin/sh

pack_lib.sh

deplist=$( ldd $1 | awk ‘{if (match($3,"/")){ print $3}}’ )
cp -L -n $deplist $2
使用方式:
sudo chmod a+x pack_lib.sh # 增加执行权限
./pack_lib.sh test ./lib/ # 第一个参数: 应用程序 第二个参数: lib/路径
4.创建发布后应用程序执行脚本:作用是将工程目录下的lib/路径添加到动态库搜索路径中。当程序发布后,应当通过该脚本启动应用程序。
#! /bin/bash

AppRun.sh

SHELL_FOLDER=(cd"(cd "(cd"(dirname “0")";pwd)exportLDLIBRARYPATH=0")";pwd) export LD_LIBRARY_PATH=0")";pwd)exportLDL​IBRARYP​ATH={LD_LIBRARY_PATH}

linux C++打包程序总结相关推荐

  1. linux下打包C++ Qt可执行程序出现的问题总结

    linux下打包C++ Qt可执行程序 零.问题描述 一.出现的问题和解决方法 二.通过配置脚本设置环境变量 零.问题描述 最近在搞linux下打包程序,由于使用了Qt相关的函数接口,出现了很多Qt相 ...

  2. qt调用linux 进程,Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u014746574/article/d ...

  3. Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)

    Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本) 转载于:https://www.cnblogs.com/zhehan54/p/9549017.html

  4. eclipse中linux打包,Eclipse中Maven打包程序并在Linux中运行

    Eclipse中Maven打包程序并在Linux中运行 1 在Eclipse中新建Maven工程 新建后的maven工程如下: 新建Maven工程的默认pom.xml如下,不需要修改: 4.0.0 T ...

  5. Linux环境打包Qt程序并部署到Docker容器

    Linux环境打包Qt程序并部署到Docker容器 根据项目需要,将UKylin版本的qt应用程序打包并且部署到docker容器中 系统版本 UKylin版本:Ubuntu18.04 Docker镜像 ...

  6. 【Linux操作】使用zip 压缩命令打包程序为.zip压缩包并进行解压缩

    Linux 上常用的压缩/解压工具,主要介绍 zip,tar 的使用. 一.Linux系统上常见压缩格式 常用的压缩包文件格式.在 Windows 上最常见的不外乎这两种 .zip,.7z 后缀的压缩 ...

  7. Linux下使用appimage打包程序

    一.打包工具 首先需要下载打包的工具,打包工具是以下两种: 1.linuxdeployqt 下载地址:https://github.com/probonopd/linuxdeployqt/releas ...

  8. 超详细Linux下QT使用appimage打包程序

    一 打包工具 1.linuxdeployqt 下载地址:https://github.com/probonopd/linuxdeployqt/releases 2.patchelf 下载地址:http ...

  9. linux qt appimage,超详细Linux下QT使用appimage打包程序

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/kuer1379/article/det ...

最新文章

  1. 使用Redis,你必须知道的21个注意要点
  2. C语言 局部变量 - C语言零基础入门教程
  3. HTTP -- 目录
  4. 缩放图片,解决bitmap 内存溢出out of memory的问题
  5. 使用PHP连接POSTGRES数据库
  6. 中国第一个正式商用SD-WAN项目面世
  7. smtp邮件服务器的作用,smtp服务器是什么意思(smtp服务器作用及使用指南)
  8. (Note)CIE色度图
  9. (转)架构师害怕程序员知道的十项技能
  10. 数三角形个数规律公式
  11. 热敏电阻(NTC)的基本参数及其应用(图)
  12. FPGA学习笔记-IP核
  13. 消息队列的全双工通信
  14. 微信公众平台账号迁移公证书如何办理?GDP30强城市收据全新出炉
  15. Spring bean解析 - refresh
  16. Expected response code 250 but got code “501“, with messa php laravel 发邮件 smtp qq邮箱 阿里云
  17. 中国式家长——旅行者困境
  18. 《Spring》第二十一篇 事务底层源码解析
  19. 理解BIO/NIO的基本模型
  20. 2022-2028全球与中国液相色谱软件市场现状及未来发展趋势

热门文章

  1. 使用JPA进行Update操作 @Query注解的用法,JPL
  2. Python 中的魔术方法(双下划线开头和结尾的方法)
  3. 2022-2028年中国FNG硅胶行业市场研究及前瞻分析报告
  4. c++动态分配二维数组
  5. 【JavaWeb】servlet与http请求协议
  6. 决策树--信息增益,信息增益比,Geni指数的理解
  7. linux模拟器 cygwin源
  8. pytorch nn.LSTM()参数详解
  9. MindSpore接口mindspore::api
  10. 微信架构 支付架构(上)