精华内容
下载资源
问答
  • 有时候在linux下编译好QT程序,用QTCreator运行没问题,打包移植到另一台机器上,用命令./XX执行就会报错:error while loading shared libraries:等等问题,有同学可能会问我的依赖库已经放在可执行文件同目录下了...

    老样子,不多BiBi,直接进入主题!

     

    有时候在linux下编译好QT程序,用QTCreator运行没问题,打包移植到另一台机器上,用命令./XX执行就会报错:error while loading shared libraries:等等问题,有同学可能会问我的依赖库已经放在可执行文件同目录下了,怎么会找不到呢,这里需要把你的可执行文件的目录配置到ld.so.conf文件下,这里介绍两种方法:

    一、

    1、cd /etc

    2、vim ld.so.conf

    3、添加你可执行文件的目录,也就是你的依赖库的路径,例如:/home/ninetripod/Desktop/test/debug

    4、配置完后运行ldconfig

    5、再次用命令执行即可运行

    二、

    1、cd /etc/ld.so.conf.d

    2、sudo vim exe.conf(新建一个conf文件)

    3、在exe.conf里面添加你可执行文件的目录,也就是你的依赖库的路径,例如:/home/ninetripod/Desktop/test/debug

    4、完成后执行ldconfig

    5、再次执行你的可执行文件即可运行

    转载于:https://www.cnblogs.com/xupeidong/p/9395215.html

    展开全文
  • Linux Qt程序打包成一个可执行文件

    万次阅读 2017-06-20 11:38:02
    最近用Qt写了一个上位机, 而且是跨平台(Windows, Linux, ARM-Linux), 开发完成后需要对程序进行打包, windows的打包非常容易,选择非常多, 但是linux下面的选择就少了些. 方案的选择 Qt官方有页面专门说明Linux X11的...

    最近用Qt写了一个上位机, 而且是跨平台(Windows, Linux, ARM-Linux), 开发完成后需要对程序进行打包, windows的打包非常容易,选择非常多, 但是linux下面的选择就少了些.

    方案的选择

    Qt官方有页面专门说明Linux X11的deployment, 主要是两个:

    • 官方的QT Installer Framework
    • 第三方的AppImage

    前者,可以制作online installer, 就像Qt本身一样, 但是稍微麻烦一些, 后者对于简单的程序打包比较容易很方便.


    appImage的使用准备

    根据个人实践对比, 认为对于小程序而言,appImage比较好用, 原因在于打包后只有一个文件, 而且不会对系统造成任何污染或者影响.

    appImage的官网中有使用的具体介绍, 和其实现原理

    自己编译的so的查找,LDD有关

    因为个人开发的上位机包含一个直接写的shared library(.so)用来操作硬件, 在链接的时候使用-L和-l来指定了. 而appImage使用的是ldd来确定各个库, 因此先使用ldd来确定是否可以找到所有的库.

    $ ldd XXXXX
    	linux-vdso.so.1 =>  (0x00007ffe04185000)
    	libYYYY.so => not found
    	libusb-1.0.so.0 => /lib/x86_64-linux-gnu/libusb-1.0.so.0 (0x00007f3539277000)
    	libQt5Widgets.so.5 => /home/hexiongjun/.Qt5.6.0_install/5.6/gcc_64/lib/libQt5Widgets.so.5 (0x00007f3538a05000)
    	libQt5Gui.so.5 => /home/hexiongjun/.Qt5.6.0_install/5.6/gcc_64/lib/libQt5Gui.so.5 (0x00007f353820e000)
    	libQt5Core.so.5 => /home/hexiongjun/.Qt5.6.0_install/5.6/gcc_64/lib/libQt5Core.so.5 (0x00007f3537afb000)
    	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f35377e8000)
    	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f35375d1000)
    	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3537208000)
    	libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f3536ff7000)
    	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3536dd9000)
    	libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f3536b87000)
    	libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f3536985000)
    	librt.so.1 => /li-可以看到自己编译的库libYYY.so找不到, 此时需要设置LD_LIBRARY_PATH来让ldd找到, 因此直接:

    export LD_LIBRARY_PATH=/Path/To/Lib:$LD_LIBRARY_PATH

    然后再次运行ldd确定即可.


    qmake的路径设置

    如果前面的ldd找到的Qt的so都是属于系统的, 一般都是在Ubuntu或者其他Linux上面使用qt5-default这个包名安装, 那么就会在系统的/usr/lib里面有对应的Qt5XXX.so, 而我们使用的是Qt SDK里面的so, 因此, 我们需要设定一下qmake的路径, 从而让其可以自动的找到SDK中的so而不是用系统的so.

    export PATH=/PATH/To/QTSDK/qmakeBIN:$PATH


    图标的设置

    需要配置一个XXX.desktop文件


    打包

    打包非常简单使用下面的命令即可:

    /Path/To/linuxdeployqt-continuous-x86_64.AppImage  XXX_Executable  -appimage


    分发

    打包后会出现一个.appImage的文件, 然后拷贝给其他人就可以了.

    运行的时候可以看到其实这个appImage是会自己mount到一个地方:

    $ cat /proc/26203/maps | awk '{print $6 }' | sort | uniq  | grep \.mount
    /tmp/.mount_Mx4jlh/lib/libEGL.so.1
    /tmp/.mount_Mx4jlh/lib/libfreetype.so.6
    /tmp/.mount_Mx4jlh/lib/libgbm.so.1
    /tmp/.mount_Mx4jlh/lib/libgthread-2.0.so.0
    /tmp/.mount_Mx4jlh/lib/libicudata.so.56
    /tmp/.mount_Mx4jlh/lib/libicui18n.so.56
    /tmp/.mount_Mx4jlh/lib/libicuuc.so.56
    /tmp/.mount_Mx4jlh/lib/libjasper.so.1
    /tmp/.mount_Mx4jlh/lib/libjpeg.so.8
    /tmp/.mount_Mx4jlh/lib/libpng12.so.0
    /tmp/.mount_Mx4jlh/lib/libQt5Core.so.5
    /tmp/.mount_Mx4jlh/lib/libQt5DBus.so.5
    /tmp/.mount_Mx4jlh/lib/libQt5Gui.so.5
    /tmp/.mount_Mx4jlh/lib/libQt5Widgets.so.5
    /tmp/.mount_Mx4jlh/lib/libQt5XcbQpa.so.5
    /tmp/.mount_Mx4jlh/lib/libXXXX.so
    /tmp/.mount_Mx4jlh/lib/libwayland-client.so.0
    /tmp/.mount_Mx4jlh/lib/libwayland-server.so.0
    /tmp/.mount_Mx4jlh/lib/libxcb-xfixes.so.0
    /tmp/.mount_Mx4jlh/lib/libXext.so.6
    /tmp/.mount_Mx4jlh/lib/libXi.so.6
    /tmp/.mount_Mx4jlh/lib/libXrender.so.1
    


    展开全文
  • Linux自定义文件打开方式,设置Qt工程打开方式为QtCreator并设置图标

    Linux自定义文件打开方式也可参照文本

    抱歉,本文前段时间写的ubuntu下的Qt工程文件默认打开方式是不好用的,因为其他的文本文件也会受到影响,强迫症患者,每次打开Qt工程都是先打开QtCreator然后在open project这样当文件夹路径比较深时候很烦人,于是bing了一下,就有了此文


    亲测可用!!!! 记住一点:技术问题千万不要百度,最好google起码必应www.bing.com

    文章参考

    https://linux.die.net/man/1/xdg-mime

    https://askubuntu.com/questions/183089/default-program-for-opening-pro-qt-project-files


    在linux安装Qt后默认的工程文件.pro是用gedit打开的,而且比较恶心的是右键打开后还选择不了,网上的不少方法要么设置后影响到一般文本文件的打开,要不没有用,根本原因是:linux将.pro文件作为一般的text/plain来处理了


    现在记录设置步骤

    1.建立一个.xml文件,文件名格式必须为xxx-xxx.xmlDigiaQt-QtProject.xml,内容如下:

    <?xml version='1.0'?>
    <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
    <mime-type type="text/qt">
        <comment>Qt Project Files</comment>
        <glob pattern="*.pro"/>
    </mime-type>
    </mime-info>


    2.命令行输入 sudo xdg-mime install DigiaQt-QtProject.xml

    其中install 为第一步中的文件名


    3.编辑/usr/share/applications/defaults.list 文件,添加以下内容 

    text/qt=DigiaQt-qtcreator-community.desktop


    4.修改默认pro图标,不然在一堆文件中很难找到

        4.1拷贝图片 QT安装路径/Docs/Qt-5.9.1/qtdoc/images/icon_QtCreator_78x78px.png图片到桌面

        4.2用图片编辑器另存为text-qt.svg  文件名必须和第一步中的mime-type type一致

        4.3拷贝图片到目录

            sudo cp text-qt.svg /usr/share/icons/Humanity/mimes/64/    
            sudo cp text-qt.svg /usr/share/icons/Humanity/mimes/48/ 
            sudo cp text-qt.svg /usr/share/icons/Humanity/mimes/128/

        4.4更新图标缓存

    sudo gtk-update-icon-cache /usr/share/icons/Humanity



    其中第一步和第二步必须有,第三步如果还是双击后不是QtCreator打开.pro文件在执行吧


    这里解释下DigiaQt-qtcreator-community.desktop 在/usr/share/applications/目录下,为Qt安装时候自动生成的,如果没有请自行建立该文件

    我的内容如下:

    [Desktop Entry]
    Type=Application
    Exec=/opt/Qt5.9.1/Tools/QtCreator/bin/qtcreator
    Name=Qt Creator (Community)
    GenericName=The IDE of choice for Qt development.
    Icon=QtProject-qtcreator
    StartupWMClass=qtcreator
    Terminal=false
    Categories=Development;IDE;Qt;
    MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;text/x-qml;text/x-qt.qml;text/x-qt.qbs;



    展开全文
  • LInux Qt 生成core文件

    2020-05-22 20:42:12
    一、在pro文件里面添加 QMAKE_CC += -g QMAKE_CXX += -g QMAKE_LINK += -g 二、设置ulimit -c unlimited 三、查看设置是否设置成功: ulimit -c 如果出现的是unlimited就是成功, 0则失败

    一、在pro文件里面添加

    QMAKE_CC += -g
    QMAKE_CXX += -g
    QMAKE_LINK += -g

    二、设置ulimit -c unlimited

    三、查看设置是否设置成功: ulimit -c 如果出现的是unlimited就是成功, 0则失败

    展开全文
  • linux qt下生成core文件方法

    千次阅读 2018-01-03 18:57:44
    linux下生成core文件如何生成 core 文件 ?命令行输入 ulimit -c 如果显示 0 那么说明 生成core 是被关闭。 再输入如下命令,设置生成core文件,并不限制大小ulimit -c unlimited注意如上的命令,只在当前终端生效...
  • 1、将二进制文件拷贝出来(和Windows下的exe相同的文件),放在一个新文件夹下面 2、生成pack.sh脚本,用来到处需要的库文件(可以向通过ldd命令查看要那些库文件) #!/bin/bash LibDir=$PWD"/lib" Target=$1 lib_...
  • linuxQT文本文件读取与保存操作

    千次阅读 2019-03-28 21:53:26
    文件显示乱码应该是文件编码问题,使用utf8无此问题(代码运行linux平台) 代码如下: #include "mywidget.h" #include "ui_mywidget.h" MyWidget::MyWidget(QWidget *parent) : QWidget(parent), ui(new Ui::...
  • Linux使用QT库编译文件

    2020-10-16 21:23:37
    这里是把QT库编译好的文件移植到ARM开发板上去的,因此我们需要下载好QT文件与g++交叉编译工具 qt库下载链接,提取码:dosb g++交叉编译工具下载链接,提取码:dosb 其中交叉编译工具若是不想那么麻烦可以使用...
  • linuxQt 编译生成的程序不能鼠标双击运行,只能在终端用命令行运行。 解决方法:在.pro文件添加 QMAKE_LFLAGS += -no-pie 重新编译即可。 参考链接:https://www.pianshen.com/article/158088109/
  • Qt linux文件同步写入

    千次阅读 2014-07-23 16:12:34
    由于linux 系统机制问题,文件...linux 下的sync 命令具有数据同步功能,我们可以在Qt程序中调用该命令。  附:sync 命令说明 sync命令 linux同步数据命令 格式: sync  用途:更新 i-node 表,并将缓冲文件
  • QT调用Linux文件系统

    千次阅读 2017-02-08 10:45:23
    前言: QT提供了调用文件系统的方法,非必要情况下不要自己去写,直接用就好。  QFileSystemModel 调用方法:QFileSystemModel *model = new QFileSystemModel; model->setReadOnly(false); //设置可以修改 model...
  • linux下生成core文件 如何生成 core 文件 ? 命令行输入 ulimit -c  如果显示 0 那么说明 生成core 是被关闭。  再输入如下命令,设置生成core文件,并不限制大小 ulimit -c unlimited 1 注意如上的命令,只...
  • 刚刚,做qt写的一个演示程序,跑在嵌入式linux系统,但是用qprocess执行 “echo xxx> /home/xxx.txt” 的时候发现一个器官的的问题,这个居然,不能用echo输出文件?? 经过调试发现,在qt linux程序,不能直接...
  • LINUX QT移植到ARM (zynq平台 qt5.4.1)

    千次阅读 2019-06-15 13:20:19
    安装QT5.4.12.1下载QT5.4.12.2解压2.3修改配置文件替换自己的编译器2.4配置2.4配置2.5 make2.6 make install3 配置ARM3.1 拷贝文件到arm上3.2 配置ARM环境4 运行4.1可能出现的问题4.2可能出现的问题 1.安装tslib ...
  • linux qt 打包安装程序

    千次阅读 2017-03-22 15:28:13
    从可运行程序的文件中拿出可执行文件;  2.终端下 使用ldd命令查看需要的连接库;  3.把ldd查询到的所有需要的库导出;  4.编写.sh文档,书写环境变量,或者在/etc/profile文件中书写环境变量:export $LD_...
  • Linux Qt-5.12.1静态编译

    千次阅读 2019-02-20 22:24:32
    1 Linux Qt-5.12.1静态编译 声明:以下仅为个人经验,若有错误地方望指正 1.1 下载Qt-5.12.1源码 下载网站:https://download.qt.io/archive/qt/5.12/5.12.1/single/ 下载qt-everywhere-src-5.12.1.tar.xz的压缩包,...
  • 续MATLAB R2017a的Coder工具使用实例-m语言转C++在linux Qt运行(之一) MATLAB R2017a的Coder工具使用实例-m语言转C++在linux Qt运行(之一) linux环境及Qt 新建Qt工程TeatMfileFun 添加之前生成...
  • 将15.qt_test 拖到 /work/projects/15.qt_test 里 cd /work/projects/15.qt_test qmake -project ...QT += widgets core gui(此处因为版本QT4和QT5的原因,需要修改15.qt_test.pro文件) qmake 1...
  • 1、在Linux下的命令行编辑程序: [root@localhost root]# mkdir hello //mkdir命令创建一个hello目录 [root@localhost root]# cd hello //cd命令切换到刚才创建的hello目录 [root@localhost hello]# vi main.cpp //...
  • Linux qtcreator引用动态库.pro文件

    千次阅读 2017-06-28 17:21:09
    #------------------------------------------------- ...# Project created by QtCreator 2014-02-28T17:40:23 # #------------------------------------------------- QT += core gui network greaterTha
  • linux环境下QT加载flash文件

    千次阅读 2012-07-09 11:31:28
    linux环境下是用QWebView类来实现对flash文件的加载的,首先需要确定linux环境支持flash,我用的是UBUNTU10.10,可以从火狐浏览器访问adobe网下载linux版本的flash插件,解压找到libflashplayer.so安装在/usr/lib/...
  • 本文主要实现在Linux QT上编译树莓派4的可执行程序。可对树莓派上的程序进行编译调试,解决了树莓派上编译调试不便的问题。 一、前期准备 1.VMPlayer虚拟机安装Ubuntu16.04.6的操作系统 2.树莓派4安装2020-02-13-...
  • Linux Qt5的安装与环境配置

    千次阅读 2020-09-08 17:58:35
    2. 我下的是qt-opensource-linux-x64-5.9.1.run,进入下载文件夹下,执行添加执行权限命令: sudo chmod +x qt-opensource-linux-x64-5.9.1.run 然后执行安装命令: sudo ./qt-opensource-linux-x64-5.9.1.run ...
  • deepin linux Qt无法输入中文

    千次阅读 2019-07-31 09:59:02
    简述 环境:deepin15.11+Qt5.7.1 说明:编辑代码过程中无法输入中文 解决方法 ...路径/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts 拷贝到以下两个目录(home目录下) /Qt5.7....
  • qtlinux系统下实现压缩文件

    千次阅读 2019-01-15 15:10:18
    由于在windows中开发qt程序使用了zlib源码库;而linux下的命令行操作又如此简单。这里用第三种方法来实现。 代码之路 代码非常简单。这里由于压缩的文件需要传输到windows系统,故采用zip命令压缩生成.zip文件。可以...
  • linux qt 调用python简单例子

    千次阅读 2018-11-08 10:50:52
    1、安装python并查看python安装路径,配置qt的pro文件 sudo apt-get install python-dev否则#include &lt;Python.h&gt; 文件提示找不到  #------------------------------------------------- # # ...
  • linux qt生成makefile

    2019-09-09 20:20:33
    2.$qmake -project //生成.pro文件 3.qmake //生成Makefile windows上使用QT报错 1.QT error MSB6006: “cmd.exe”已退出 设置环境变量:https://blog.csdn.net/jp20100402/article/details/53557206 2....
  • Linux Qt4安装全过程

    千次阅读 2013-11-27 10:24:36
     到ftp://ftp.qt-project.org/qt/source/ 下载Linux版本的Qtqt-everywhere-opensource-src-4.7.2.tar.gz  到ftp://ftp.qt-project.org/qtcreator/ 下载Linux版本的qt-creator-linux-x86-opensource-2.1.0.bin
  • Linux Qt导入project

    千次阅读 2018-04-07 13:47:14
    网上流传的大部分查看opencv源码的教程,要么基于windows下的cmake工具生成Visual Studio工程文件,这种方式费时,而且在ubuntu系统下不可行; 要么使用VS下的“查找与替换”功能搜索函数名来查找,这种方式虽然能...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,411
精华内容 20,164
关键字:

linuxqt执行文件

linux 订阅