Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Erro ao executar app
Forum Updated to NodeBB v4.3 + New Features

Erro ao executar app

Scheduled Pinned Locked Moved Portuguese
12 Posts 5 Posters 5.7k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    AntonioPaulo
    wrote on last edited by
    #1

    Não sei bem se o nome correto seria esse já que uso Linux, mas lá vai minha duvida, eu criei uma aplicação que lê dados da porta serial e plot em um gráfico, ate ai tudo ok , dei um build no projeto e tenho um arquivo aparentemente executável que funciona sem estar executando pelo qt.Quando fui executar o arquivo em outra maquina com o Linux da o seguinte erro :

    error while loading shared libraries: libQt5SerialPort.so.5: cannot open shared object file: No such file or directory

    Alguem pode me ajudar?

    Grato

    1 Reply Last reply
    0
    • T Offline
      T Offline
      Ticianelli
      wrote on last edited by
      #2

      Tive um problema parecido, só que com windows...até agora não sei a causa, mas eu dei build novamente, só que em outra pasta. Ele gerou um outro executável que passou a funcionar....
      Você pode tentar fazer isso....mas é só um chute...

      1 Reply Last reply
      0
      • L Offline
        L Offline
        Leonardo
        wrote on last edited by
        #3

        O erro por si só já explica. No seu PC você tem todas as bibliotecas necessárias, por isso funciona. No outro PC, no caso, está faltando essa aí do erro. Precisa instalar os pacotes do qt5 antes de rodar seu programa.

        1 Reply Last reply
        0
        • A Offline
          A Offline
          AntonioPaulo
          wrote on last edited by
          #4

          OK, maia vou te que instalar todo ambiente ou existe um pacote tipo runtime, só com as bibliotecas necessárias

          1 Reply Last reply
          0
          • L Offline
            L Offline
            Leonardo
            wrote on last edited by
            #5

            Existe. Eu não sei o nome certo, porque uso o Windows, mas dá uma olhada no seu gerenciador de pacotes que você acha. Pesquisa por "qt5".

            1 Reply Last reply
            0
            • R Offline
              R Offline
              ReinaldoJr
              wrote on last edited by
              #6

              Olá,
              Terá que copiar junto com o executável todas as bibliotecas (.so) necessárias para rodar teu programa.
              No linux: você tem que indicar para o programa a localização das bibliotecas pela variavel de ambiente 'ld_library_path', ou na compilação do programa através de 'rpath'.
              No windows: pela variavel de ambiente 'PATH'.

              1 Reply Last reply
              0
              • L Offline
                L Offline
                Leonardo
                wrote on last edited by
                #7

                Essa é uma outra opção, mas o pacote é melhor porque assim as bibliotecas serão compartilhadas por todos os programas feitos com Qt. Do contrário, ele teria que copiar esses arquivos junto de cada executável.

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  AntonioPaulo
                  wrote on last edited by
                  #8

                  Tentei e só consegui achar qt4 para desenvolvimento acho que e o próprio qtcreator, alguem sabe como ?seria o caso de tentar o fórum internacional ?

                  1 Reply Last reply
                  0
                  • L Offline
                    L Offline
                    Leonardo
                    wrote on last edited by
                    #9

                    A disponibilidade do pacote depende mesmo é da distribuição. Vai ver a sua não tem então. Nesse caso, copiar as bibliotecas, como o @ReinaldoJr sugeriu pode ser a saída. Aqui tem umas explicações:

                    http://doc.qt.io/qt-5/linux-deployment.html#creating-the-application-package

                    1 Reply Last reply
                    0
                    • R Offline
                      R Offline
                      ReinaldoJr
                      wrote on last edited by
                      #10

                      Leonardo, realmente algumas distribuições linux tem pacotes prontos, porém:

                      1. Geralmente esses pacotes estão desatualizados, sendo assim, se você utilizar a versão mais recente do Qt, provavelmente dará erro.
                      2. Linux tem pacotes prontos, alguns apenas, e windows oficialmente não tém.

                      Quanto a disponibilidade das libs para vários programas, em linux basta setar globalmente o 'path_das_libs' em LD_LIBRARY_PATH que todos os programas passam a buscar também neste 'path_das_libs'. Em windows setar em PATH, que também todos o programas iram buscar em 'path_das_libs'.

                      Fica á dica!

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        AntonioPaulo
                        wrote on last edited by
                        #11

                        Valeu galera, fiz uns teste e copiei libQt5SerialPort.so.5 para a pasta /usr/lib, dai minha aplicação abre, só que quando peço pra detectar as portas seriais aparece o seguinte erro:

                        undefined symbol: _ZN7QString18toLocal8Bit_helperEPK5QChari

                        to em uma maquina com linux sem o qt creator instalado.

                        1 Reply Last reply
                        0
                        • JoserodrigoJ Offline
                          JoserodrigoJ Offline
                          Joserodrigo
                          wrote on last edited by
                          #12

                          https://www.youtube.com/watch?v=wti-VDG5HrQ Não precisa instalar o SDK em todas as maquinas qfor usar, no windows basta abrir oshell e digitar windeployqt "<pastaparaoezecutavel" que ele gera uma sand box pro seu app, no linux é um pouco diferente http://doc.qt.io/qt-5/linux-deployment.html

                          1 Reply Last reply
                          0

                          • Login

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • Users
                          • Groups
                          • Search
                          • Get Qt Extensions
                          • Unsolved