Pergunta

Eu estou trabalhando em um jogo usando o Visual C ++. Eu tenho alguns componentes em projetos separados, e criaram as dependências do projeto. Como # incluir um arquivo de cabeçalho de um projeto diferente? Eu não tenho nenhuma idéia de como usar as classes de um projeto em outro.

Foi útil?

Solução

Configurações de compilador

No projeto em que deseja incluir o arquivo de cabeçalho de outro projeto, você precisará adicionar o caminho do arquivo de cabeçalho para o adicionais incluir diretórios na configuração do projeto.

Para acessar a configuração do projeto:

  1. Clique com o botão direito do mouse no projeto e selecione Propriedades.
  2. Selecionar configuração Propriedades-> C / C ++ -.> Geral
  3. Definir o caminho em Adicional Incluir Directories.

Como incluir

Para incluir o arquivo de cabeçalho , basta escrever o seguinte no seu código:

#include "filename.h"

Note que você não precisa especificar o caminho aqui, porque você incluir o diretório em incluir adicionais Diretórios já, portanto, Visual Studio vai saber para onde olhar para ele.

Se você não quiser adicionar cada local arquivo de cabeçalho nas configurações do projeto, você poderia simplesmente incluir um diretório até certo ponto, e depois # include em relação a esse ponto:

// In project settings
Additional Include Directories    ..\..\libroot

// In code
#include "lib1/lib1.h"    // path is relative to libroot
#include "lib2/lib2.h"    // path is relative to libroot

Configurando para vinculador

Se estiver usando bibliotecas estáticas (arquivo ou seja lib), você também precisará adicionar a biblioteca à entrada de vinculador, para que em tempo de ligação dos símbolos pode ser ligado contra (caso contrário, você vai ter um símbolo não resolvido):

  1. Clique com o botão direito do mouse no projeto e selecione Propriedades.
  2. Selecionar configuração Propriedades-> Linker-> Entrada
  3. Digite a biblioteca sob Dependências adicionais.

Outras dicas

#include não tem nada a ver com projectos - ele apenas diz ao pré-processador "colocar o conteúdo do arquivo de cabeçalho aqui". Se você dar-lhe um caminho que aponta para o local correto (pode ser um caminho relativo, como ../your_file.h) ele será incluído corretamente.

Você vai, no entanto, tem que aprender sobre bibliotecas (estáticas / bibliotecas dinâmicas) a fim de tornar tais projetos ligar corretamente - mas isso é outra questão

.

Você precisa definir o caminho para os cabeçalhos nas propriedades do projeto para que os olhares do compilador lá quando tentando encontrar o arquivo de cabeçalho (s). Não me lembro a localização exata, mas olhar embora as propriedades do projeto e você deve vê-lo.

Tente evitar referências de caminho completos na diretiva #include, se eles são absoluta ou relativa. Em vez disso, adicionar a localização dos outros do projeto incluem pasta em suas configurações do projeto. Use apenas subpastas em referências de caminho quando necessário. Dessa forma, é mais fácil mudar as coisas sem ter que atualizar seu código.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top