Como adicionar o caminho de inclusão no Qt Creator?

160

Eu tenho um projeto no qual estou trabalhando no Qt Creator que requer uma biblioteca de terceiros. Quero adicionar os cabeçalhos ao caminho de inclusão do projeto. Como eu faço isso?

Nathan Osman
fonte

Respostas:

231

Se você estiver usando o qmake, o sistema de construção padrão do Qt, basta adicionar uma linha ao .proarquivo, conforme documentado na Referência de variável do qmake :

INCLUDEPATH += <your path>

Se você estiver usando seu próprio sistema de criação, crie um projeto selecionando "Importar projeto baseado em Makefile". Isso criará alguns arquivos no diretório do projeto, incluindo um arquivo chamado<your project name>.includes . Nesse arquivo, basta listar os caminhos que você deseja incluir, um por linha. Realmente, tudo o que isso faz é dizer ao Qt Creator onde procurar arquivos para indexar para conclusão automática. Seu próprio sistema de construção terá que lidar com os caminhos de inclusão à sua maneira.

Conforme explicado no Manual do Qt Creator , <your path>deve ser um caminho absoluto, mas você pode evitar entradas específicas de SO, host ou usuário em seu .proarquivo usando o $$PWDque se refere à pasta que contém o .proarquivo, por exemplo

INCLUDEPATH += $$PWD/code/include
Jason B
fonte
2
OK. Isso vai funcionar para mim muito bem. Existe uma configuração global para os caminhos de inclusão?
Nathan Osman
Não que eu saiba, mas isso não significa que não há. Não vejo nada nas opções que se parecem com isso.
Jason B
3
Deixa pra lá. Sua resposta menciona, INCLUDE_PATHmas você quis dizer INCLUDEPATH. Vou consertar a sua resposta :)
Nathan Osman
6
É melhor usar as QMAKE_CXXFLAGSvariáveis ​​em vez disso, porque esta INCLUDEPATHé de buggy (pelo menos no momento - QT5). Ou seja, quando incluí INCLUDEPATH += ../../../o QT, o diretório escolhido aleatoriamente neste caminho e o compilador teve a opção -I../../../GUI.
Hi-Angel
4
@ Hi-Angel: Parece que o INCLUDEPATHespecificado é relativo ao diretório de compilação, não ao diretório com o .proque se pode facilmente assumir. Como mostrado na minha edição da resposta, você pode usar $$ $$ PWD para obter uma pasta claramente definida para iniciar o caminho de inclusão.
SSC
6

Para adicionar o caminho de inclusão global, use o comando personalizado para qmake na seção Projetos / Compilação / Etapas de compilação em "Argumentos adicionais" como este: "QT+=your_qt_modules" "DEFINES+=your_defines"

Eu acho que você pode usar qualquer comando dos arquivos * .pro dessa maneira.

Alex Maltsev
fonte
5

Para alguém completamente novo no Qt Creator como eu, você pode modificar o arquivo .pro do seu projeto a partir do Qt Creator:

insira a descrição da imagem aqui

Basta clicar duas vezes em "nome do seu projeto" .pro na janela Projetos e adicionar o caminho de inclusão na parte inferior do arquivo .pro, como eu fiz.

Adão
fonte
5
Usar caminhos de arquivo absolutos é uma péssima idéia. Sempre tente usar o sistema de caminho de arquivo relativo. O QT foi projetado para ser multiplataforma. E se você compilar o mesmo código em uma máquina Linux, o compilador falhará ao encontrar nomes de arquivos como C: \ Além disso, mesmo se você renomear a pasta de origem ou movê-la para outro lugar no seu próprio computador, ela ainda falhará e você terá que editar o arquivo de toda .pro
Shivam Jha
0

Se você usar Makefiles personalizados, poderá clicar duas vezes no arquivo .includes e adicioná-lo lá.

karsten
fonte