ligação dinâmica bem-sucedida do terminal, falha por duplo clique

0

Eu construí um projeto wxWidgets usando Code :: Blocks 16.01 no Debian 9 x86_64. O projeto usa três bibliotecas dinâmicas para funcionar:

libarjois.so
libcryptocore.so
libcryptopp.so.5.6

O primeiro usa o segundo que, por sua vez, usa o terceiro. Eu coloquei um link simbólico chamado libcryptopp.so apontando para libcrypotpp.so.5.6 . As três bibliotecas estão na subpasta de um executável chamada libs e nas Opções de vinculador de Code :: Blocks para o projeto eu especifiquei essa subpasta. No entanto, como ldd myExecutable mostra que as bibliotecas necessárias não foram encontradas, adicionei a variável de ambiente LD_LIBRARY_PATH = myHomeFolder/lib a .bashrc e coloquei as bibliotecas dentro dessa pasta para usar o software. Dessa forma, posso iniciar o programa com êxito a partir da linha de comando, mas se eu clicar duas vezes nele, ele não será executado. Eu criei um lançador de desktop para depurar o comportamento e descobri que aparentemente as três bibliotecas não são encontradas quando o programa é iniciado com o doubleclick. Qual é o significado desse comportamento? Sou forçado a copiar as bibliotecas compartilhadas para /usr/lib/x_86_64-linux-gnu para ativar o programa graficamente? Eu até tentei criar um bash e um script python para lançar o programa graficamente, mas tudo falhou.

    
por bjorn 18.12.2017 / 11:48

0 respostas