Deploy and start app at Raspberry Startup



  • Hi there,

    I'm actually develloping an app on my raspberry Pi 3 I need this app to start on Rasp startup, I did not find any solutions that worked for me do you have any clue , or is there anything to do in QT t oset this up .

    By the way I'm running rasbian.


  • Qt Champions 2016

    Hi
    There is nothing in Qt you must do extra as compared to any other .exe you want to run at startup
    https://www.raspberrypi.org/forums/viewtopic.php?p=142242

    However, I trust u can run the app on the pi and its just the issue of running it at startup ?



  • I can run the app by using the RUN button in Qt I never tried to launch by using .exe cause I don't know how to do this, I mean I already looked at deplying an application but I'm not able to start from .exe is there any command that I should run ?

    If I can handle that , I could launch my app by using the .exe at startup.


  • Qt Champions 2016

    Hi
    First you should be able to run the app outside Creator.
    I assume PI OS acts like any other linux.
    So you need a deployment folder with the Qt run times files. DLL/so files

    http://www.tripleboot.org/?p=138
    section Linux GCC 32-bit and 64-bit compilers:

    Pay huge attention to what dlls/so files u copy. DO NOT mix debug and release.

    If the OS is not like a linux then i have no clue on how to deploy to it. :)



  • Debian works like a linux system so no problem from here.

    In the tuto you send me I don't understand how to know which dll are needed ?


  • Qt Champions 2016

    @Amaury
    hi
    You can use ldd on your exe to see which is needed.
    Also there is a tool
    https://github.com/probonopd/linuxdeployqt

    Also the tut does list the barebone needed.
    to run.



  • Alright I'll have a look on that, many thanks .



  • Hi again , I'm not able to run linuxdeployqt so I managed to use ldd command to find the libraries that are needed.

    Can't understand anything at what should I do , in the tutorial you send in the deployment folder there only is the .exe and a file named platforms. But when I'm using the deployment oon QT creator , I get a folder with all .o/.h/.cpp files that contains my program. I certainly forgot domething to do but don't know what.

    At least when running the ldd command I got :

    pi@dex:~/Desktop/Deployment $ sudo ldd SmartDevice_QT_V13 
    	linux-vdso.so.1 (0x7edd0000)
    	/usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76f61000)
    	libQxtCore.so.0 => /usr/local/Qxt/lib/libQxtCore.so.0 (0x76ed8000)
    	libQxtWidgets.so.0 => /usr/local/Qxt/lib/libQxtWidgets.so.0 (0x76e18000)
    	libqwt.so.6 => not found
    	libQtWebKit.so.4 => /usr/lib/arm-linux-gnueabihf/libQtWebKit.so.4 (0x7539f000)
    	libQtSql.so.4 => /usr/lib/arm-linux-gnueabihf/libQtSql.so.4 (0x75359000)
    	libQtXmlPatterns.so.4 => /usr/lib/arm-linux-gnueabihf/libQtXmlPatterns.so.4 (0x74fb3000)
    	libQtXml.so.4 => /usr/lib/arm-linux-gnueabihf/libQtXml.so.4 (0x74f69000)
    	libQtGui.so.4 => /usr/lib/arm-linux-gnueabihf/libQtGui.so.4 (0x74678000)
    	libQtNetwork.so.4 => /usr/lib/arm-linux-gnueabihf/libQtNetwork.so.4 (0x7454a000)
    	libQtCore.so.4 => /usr/lib/arm-linux-gnueabihf/libQtCore.so.4 (0x742a9000)
    	libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x74280000)
    	libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x741a4000)
    	libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x74129000)
    	libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x740fc000)
    	libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x73fbb000)
    	libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x73f93000)
    	libXrender.so.1 => /usr/lib/arm-linux-gnueabihf/libXrender.so.1 (0x73f82000)
    	libjpeg.so.62 => /usr/lib/arm-linux-gnueabihf/libjpeg.so.62 (0x73f2d000)
    	libpng12.so.0 => /lib/arm-linux-gnueabihf/libpng12.so.0 (0x73efd000)
    	libgstapp-1.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgstapp-1.0.so.0 (0x73ee2000)
    	libgstpbutils-1.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgstpbutils-1.0.so.0 (0x73eae000)
    	libgstvideo-1.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgstvideo-1.0.so.0 (0x73e5f000)
    	libgstaudio-1.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgstaudio-1.0.so.0 (0x73e08000)
    	libgstbase-1.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgstbase-1.0.so.0 (0x73da0000)
    	libgstreamer-1.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgstreamer-1.0.so.0 (0x73c9c000)
    	libgobject-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0 (0x73c41000)
    	libglib-2.0.so.0 => /lib/arm-linux-gnueabihf/libglib-2.0.so.0 (0x73b3e000)
    	libsqlite3.so.0 => /usr/lib/arm-linux-gnueabihf/libsqlite3.so.0 (0x73a84000)
    	libfontconfig.so.1 => /usr/lib/arm-linux-gnueabihf/libfontconfig.so.1 (0x73a42000)
    	libX11.so.6 => /usr/lib/arm-linux-gnueabihf/libX11.so.6 (0x7392c000)
    	/lib/ld-linux-armhf.so.3 (0x54ad2000)
    	libaudio.so.2 => /usr/lib/arm-linux-gnueabihf/libaudio.so.2 (0x73906000)
    	libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0x7386e000)
    	libSM.so.6 => /usr/lib/arm-linux-gnueabihf/libSM.so.6 (0x7385f000)
    	libICE.so.6 => /usr/lib/arm-linux-gnueabihf/libICE.so.6 (0x73841000)
    	libXext.so.6 => /usr/lib/arm-linux-gnueabihf/libXext.so.6 (0x73822000)
    	libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x7380e000)
    	librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x737f7000)
    	liborc-0.4.so.0 => /usr/lib/arm-linux-gnueabihf/liborc-0.4.so.0 (0x73777000)
    	libgsttag-1.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgsttag-1.0.so.0 (0x73732000)
    	libgmodule-2.0.so.0 => /usr/lib/arm-linux-gnueabihf/libgmodule-2.0.so.0 (0x7371d000)
    	libffi.so.6 => /usr/lib/arm-linux-gnueabihf/libffi.so.6 (0x7370d000)
    	libpcre.so.3 => /lib/arm-linux-gnueabihf/libpcre.so.3 (0x7369a000)
    	libexpat.so.1 => /lib/arm-linux-gnueabihf/libexpat.so.1 (0x73668000)
    	libxcb.so.1 => /usr/lib/arm-linux-gnueabihf/libxcb.so.1 (0x73649000)
    	libXt.so.6 => /usr/lib/arm-linux-gnueabihf/libXt.so.6 (0x735f2000)
    	libXau.so.6 => /usr/lib/arm-linux-gnueabihf/libXau.so.6 (0x735e7000)
    	libuuid.so.1 => /lib/arm-linux-gnueabihf/libuuid.so.1 (0x735d3000)
    	libXdmcp.so.6 => /usr/lib/arm-linux-gnueabihf/libXdmcp.so.6 (0x735c7000)
    

    That's all my libraries that are needed to run my app I assume but I don't know where to put this ? with all the files in my deployment folder ?


  • Qt Champions 2016

    Hi

    • I assume but I don't know where to put this ?

    in a folder on the board. Then try to run your exe from that folder.
    a deployment folder is nothing more than
    a folder with Qt SO files and the exe.



  • Alright thank you I made a new installation of Qt and get the 5.7 version instead of the 4.8 so I'll try that when the change is effective.

    See you !


  • Qt Champions 2016

    @Amaury
    ok :)
    Hopefully it just runs now.



  • Hope so too ! :)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.