O programa de lançamento do QT no Linux não pode ser aberto clicando duas vezes na solução

fenômeno

Os programas desenvolvidos pela Qt podem ser abertos usando ./terminal, mas não podem ser abertos com um clique duplo.

Estágio um

Clique com o botão direito do mouse no programa executável e selecione propriedades.Se o tipo de programa executável for "application / x-sharedlib", adicione o seguinte conteúdo ao arquivo pro do QT, limpe-o e recompile a versão de lançamento;

QMAKE_LFLAGS += -no-pie

O programa executável neste momento é "x-executável", clique duas vezes para ver se ele pode ser iniciado.

Estágio dois

Se você ainda não consegue abrir após o estágio 1, você pode escrever uma pequena demonstração agora, criar um novo projeto com uma interface e não fazer nada. Após compilar, veja se ele pode ser aberto clicando duas vezes. Se puder ser aberto, mas um projeto mais complicado não pode ser aberto. A explicação é um problema ambiental; o
motivo é analisado.
Clique duas vezes na interface gráfica, o ambiente é o gerenciador de arquivos e use ./ na interface de linha de comando, que é um script de shell. Quando o shell é iniciado, alguns scripts são executados para alterar as variáveis ​​de ambiente; se um projeto complexo depende de bibliotecas de terceiros, o clique duplo no executável diretamente não pode ser aberto.
Solução
Modifique as variáveis ​​de ambiente globais e adicione o caminho atual do programa executável ao seguinte arquivo de configuração (dependendo da biblioteca geralmente está no mesmo nível do programa executável):

/etc/ld.so.conf

Execute o seguinte comando para tornar a configuração efetiva imediatamente:

sudo ldconfig

Clique duas vezes no programa executável novamente, ele pode ser aberto normalmente.

Estágio três

O projeto é muito grande e há outro software no computador para modificar as variáveis ​​de ambiente. Após essas operações, você ainda não conseguirá clicar duas vezes para abri-lo. O seguinte descreve o clique duplo do script de shell para iniciar.
1. Edite um script de shell, como runHWT.sh, e coloque-o no diretório do arquivo executável. O conteúdo é o seguinte:

#!/bin/bash
#workdir当前工作路径
workdir=$(cd $(dirname $0); pwd)	
#echo $workdir
export LD_LIBRARY_PATH=$workdir	#添加临时环境变量
cd $workdir
./HardWareTest		#HardWareTest是可执行文件名

Neste ponto, você pode executar o programa no terminal ./runHWT.sh, mas não pode abri-lo mesmo depois de clicar duas vezes nele.

2. Defina o script de shell para abrir clicando duas vezes.
Abra File Manager-Edit-Preferences-Behavior, marque "Executar arquivos de texto executáveis ​​ao abri-los";
clique com o botão direito em runHWT.sh, selecione a guia de permissão e marque Permitir como um arquivo de execução de programa, clique duas vezes em "runHWT.sh" para executar o programa diretamente;

3. Crie um atalho
na área de trabalho Para parecer mais com um programa, crie um atalho na área de trabalho com ícones;
crie o arquivo /home/chw/Desktop/runHWT.sh.desktop na área de trabalho e edite vim runHWT.sh.desktop:

[Desktop Entry]
Encoding=UTF-8
Name=runHWT
Comment=硬件测试程序
Exec=/home/chw/HSCompany/HardWareTest/HWTrelease-20210119/runHWT.sh
Icon=/home/chw/HSCompany/HardWareTest/HWTrelease-20210119/image/HWTlogo.png
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;

Onde Exec é o caminho completo do script de shell, Ícone é o caminho do ícone do software, formato png, salvar e sair, você pode ver um ícone chamado "runHWT" na área de trabalho, neste momento clique duas vezes no ícone de atalho para iniciar o Programas.

Acho que você gosta

Origin blog.csdn.net/weixin_40355471/article/details/112241927
Recomendado
Clasificación