Qt Creator - Projeto ERRO: O Xcode não está configurado corretamente. Pode ser necessário confirmar o contrato de licença executando / usr / bin / xcodebuild


121

Acabei de instalar o Qt 5.5 e estou usando o Qt Creator pela primeira vez no OS X. Quando instalei o Qt pela primeira vez, ele me deu uma mensagem de erro 'Xcode 5 não instalado', que achei estranho (eu tenho o Xcode 7 beta) , mas a instalação foi concluída com êxito de qualquer maneira.

Agora, quando inicio ou abro um projeto, recebo o erro:

Projeto ERRO: O Xcode não está configurado corretamente. Pode ser necessário confirmar o contrato de licença executando / usr / bin / xcodebuild.

Quando executo /usr/bin/xcodebuildno Terminal, obtenho o seguinte:

xcode-select: error: a ferramenta 'xcodebuild' requer Xcode, mas o diretório ativo do desenvolvedor '/ Library / Developer / CommandLineTools' é uma instância das ferramentas de linha de comando

Não sei o que o Xcode tem a ver com o Qt Creator, a menos que tenha algo a ver com o acesso a bibliotecas para compatibilidade entre plataformas, mas existe uma maneira de corrigir esse problema?


3
Nota: Para Qt 5.7.1 e Xcode 8.2.1, a resposta de @ rudolf-ratusinski, no entanto, faz o trabalho perfeitamente. A resposta aceita não funciona.
Alexey Kamenskiy

A resposta do @ rudolf-ratusinski ainda funciona no Xcode 11.2.1
AJC /

Respostas:


275

> = Xcode 8

No Xcode 8, como Bruce disse, isso acontece quando o Qt tenta descobrir xcrunquando deve procurar xcodebuild.

Abra o arquivo:

Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf

Substituir:

isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null")))

Com:

isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))

~> Xcode 8

Antes do Xcode 8, esse problema ocorre quando as ferramentas de linha de comando são instaladas após a instalação do Xcode. O que acontece é que o Xcode-selectdiretório do desenvolvedor é apontado /Library/Developer/CommandLineTools.

Aponte Xcode-selectpara o diretório correto do Xcode Developer com o comando:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Confirme o contrato de licença com o comando:

sudo xcodebuild -license

Isso solicitará que você leia o contrato de licença.

Digite agreepara aceitar os termos.


4
Eu tenho o Xcode-selecionar erro: Erro: Diretório desenvolvedor inválida '/Applications/Xcode.app/Contents/Developer'
Mohammed Rafeeq

14
Não funciona para mim com o Xcode 8. Aceitei a licença através destas instruções e ainda recebo o mesmo erro.
Violet Giraffe

1
Obrigado, com o XCode 8 depois de editar o default_pre.prf, ele funciona!
Libor B.

11
Para aqueles que se perguntam onde está a pasta de instalação: isso dependerá das configurações do seu gerenciador de pacotes: / usr / local / Cellar / qt55 para Homebrew, / opt / local / libexec / qt5 (-mac) para macports.
Yogodoshi

3
Com homebrew, depois de instalar qt@5.5 (que é necessário para a capivara Ruby gem), achei o relevante default_pre.prfarquivo em: /usr/local/Cellar/qt@5.5/5.5.1/mkspecs/features/mac/default_pre.prf. Também tentei a abordagem de Rudolf Ratusiński e, apesar de ter me superado pela primeira vez, resultou em inúmeras mensagens falsas mais tarde que não recebi quando utilizei essa abordagem.
precisa saber é o seguinte

81

Se você alterar o conteúdo Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prf , ele funcionará apenas no kit Desktop, não no ex. simulador.

Uma maneira melhor é apenas criar um link simbólico:

cd /Applications/Xcode.app/Contents/Developer/usr/bin/
sudo ln -s xcodebuild xcrun

para que você não precise alterar os arquivos .prf para todos os destinos.


1
Eu prefiro esta versão, por isso parece menos confusa do que editar arquivos cfg.
tjeden

3
Isso causa problemas posteriormente quando o xcrun é chamado com parâmetros não suportados pelo xcodebuild (parâmetro ausente -f).
precisa saber é o seguinte

3
Parece um problema qt. Então eu considero mais perigoso adicionando um link sym duradoura dentro distrib xcode do que mudar um arquivo conf qt que será substituído por Qt 5.7.1
ALoopingIcon

1
Não faça isso, isso atrapalha o meu projeto de aplicativo para iPhone.
Chchwy

1
Voto isso muito cedo e o tranquei ... Encontrei o problema -f do parâmetro.
BuvinJ

26

Isto irá fazer o truque:

#sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Execute isso no seu terminal.


funciona no Xcode8 e mais fácil do que as outras etapas. Obrigado!
Misha

Confirmado que funciona no macOS Sierra 10.12.4 com Xcode 8 - Obrigado!
Dylan Pierce

1
Isso ainda está funcionando no macOS High Sierra 10.13.5 com o Xcode 9.4.1 - Obrigado!
d1jhoni1b

Confirmado que isso funciona no macOS Catalina 10.15.2 com o Xcode 11.3.
RNickMcCandless

11

Para os usuários do Xcode 8, há outro problema. Veja aqui uma solução temporária até o Qt 5.7.1 ser lançado:

https://forum.qt.io/topic/71119/project-error-xcode-not-set-up-properly

Para resumir:

Abra Qt_install_folder/5.7/clang_64/mkspecs/features/mac/default_pre.prfem um editor de texto e substitua:

isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))))

com isso:

isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))

4

Se você construir o Qt a partir da fonte com o XCode 8.x, precisará alterar o argumento "-find" no arquivo qt-everywhere-enterprise-src-5.7.0/qtbase/configureda linha 551 para que se pareça com:

if ! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1; then

2

Conseguiu resolvê-lo instalando a versão completa do Xcode, concordando com os termos e depois usando xcode-select --reset.

Basicamente, o problema é que o xcode que você está apontando /Library/Developer/CommandLineToolsnão permite que você aceite os termos e condições. Portanto, após a instalação e redefinição do local, tudo deve ficar bem


0

Para mim, a única maneira de funcionar corretamente é comentar as linhas sobre xcrun com o '#':

# Make sure Xcode is set up properly
#isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))): \
    #error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.")

No arquivo: Qt_install_folder / 5.7 / clang_64 / mkspecs / features / mac / default_pre.prf


0

Só para adicionar um pouco a muitas respostas antigas no espírito de "Isso funcionou para mim", descobri que ao iniciar o Xcode, fazer login na minha conta de desenvolvedor (apenas gratuita) e depois definir as ferramentas de comando em "Locais" . Eu poderia pegar o

'sudo / usr / bin / xcodebuild -license concorda'

trabalhar. isto é, lançou um processo de concordância na linha de comando e eu concordei após uma leitura cuidadosa de todas as 14 milhões de páginas de material.

Não precisei editar nada.

Meu sistema é o Mojave 10.14.6 e o ​​Xcode 10.3 (10G8).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.