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.