Partilhar via


Como: Organizar arquivos de saída do projeto para compilações

Este tópico descreve as práticas recomendadas para organizar arquivos de saída do projeto. Erros de compilação podem ocorrer quando você configura arquivos de saída do projeto incorretamente. Este tópico também descreve as vantagens e desvantagens de cada alternativa para organizar os arquivos de saída do projeto.

Fazendo referência a assemblies CLR

Para fazer referência a assemblies com #using

  1. Você pode fazer referência a um assembly diretamente do seu código usando a diretiva #using, como #using <System.Data.dll>. Para obter mais informações, consulte a Diretiva #using.

    O arquivo especificado pode ser um .dll, .exe, .netmodule ou .obj, desde que esteja no MSIL. O componente referenciado pode ser construído em qualquer idioma. Usando esta opção, você terá acesso ao IntelliSense, uma vez que os metadados serão extraídos do MSIL. O arquivo em questão deve estar no caminho para o projeto; caso contrário, o projeto não será compilado e o IntelliSense não estará disponível. Uma maneira fácil de determinar se o arquivo está no caminho é clicar com o botão direito do mouse na linha #using e escolher o comando Abrir documento . Você será notificado se o arquivo não puder ser encontrado.

    Se não quiser colocar o caminho completo para o arquivo, pode usar a opção de compilador /AI para editar o caminho de pesquisa para referências #using. Para obter mais informações, consulte /AI (Especificar diretórios de metadados).

Para fazer referência a assemblies com /FU

  1. Em vez de fazer referência diretamente a um assembly a partir de um ficheiro de código, conforme descrito acima, pode-se usar a opção do compilador /FU. A vantagem desse método é que você não precisa adicionar uma instrução #using separada a cada arquivo que faz referência a um determinado assembly.

    Para definir essa opção, abra as Páginas de propriedades do projeto. Expanda o nó Propriedades de configuração e, em seguida, expanda o nó C/C++ e selecione Avançado. Adicione os conjuntos desejados ao lado de Force #using. Para obter mais informações, consulte /FU (Name Forced #using File).

Para referenciar assemblies utilizando Adicionar Nova Referência

  1. Esta é a maneira mais fácil de usar assemblies CLR. Primeiro, certifique-se de que o projeto é compilado com a opção de compilador /clr . Em seguida, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Adicionar, Referências. A caixa de diálogo Páginas de propriedades será exibida.

  2. Na caixa de diálogo Páginas de propriedades , selecione Adicionar nova referência. Será exibida uma caixa de diálogo listando todos os assemblies .NET, COM e outros disponíveis no projeto atual. Selecione a montagem desejada e clique em OK.

    Depois que uma referência de projeto é definida, as dependências correspondentes são tratadas automaticamente. Além disso, como os metadados fazem parte de um conjunto, não há necessidade de adicionar um arquivo de cabeçalho ou prototipar os elementos que estão a ser usados de conjuntos geridos.

Fazendo referência a DLLs nativas ou bibliotecas estáticas

Para fazer referência a DLLs nativas ou bibliotecas estáticas

  1. Faça referência ao arquivo de cabeçalho apropriado em seu código usando a diretiva #include. O ficheiro de cabeçalho deve estar no caminho de inclusão ou fazer parte do projeto em curso. Para obter mais informações, consulte Diretiva #include (C/C++).

  2. Você também pode definir dependências do projeto. Definir dependências do projeto garante duas coisas. Primeiro, ele garante que os projetos sejam construídos na ordem certa para que um projeto possa sempre encontrar os arquivos dependentes de que precisa. Em segundo lugar, ele adiciona implicitamente o diretório de saída do projeto dependente ao caminho para que os arquivos possam ser encontrados facilmente em tempo de link.

  3. Para implantar o aplicativo, você precisará colocar a DLL em um local apropriado. Pode ser uma das seguintes opções:

    1. O mesmo caminho que o executável.

    2. Em qualquer lugar no caminho do sistema (a variável de ambiente path).

    3. Na montagem lado a lado. Para obter mais informações, consulte Criando assemblies lado a lado C/C++.

Trabalhando com vários projetos

Por padrão, os projetos são criados de forma que todos os arquivos de saída sejam criados em um subdiretório do diretório do projeto. O diretório é nomeado com base na configuração de compilação (por exemplo, Debug ou Release). Para que os projetos irmãos se refiram uns aos outros, cada projeto deve adicionar explicitamente os outros diretórios de saída do projeto ao seu caminho para que a vinculação seja bem-sucedida. Isso é feito automaticamente quando você define as dependências do projeto. No entanto, se você não usar dependências, você deve lidar com isso com cuidado, porque as compilações podem se tornar muito difíceis de gerenciar. Por exemplo, quando um projeto tem configurações Debug e Release e inclui uma biblioteca externa de um projeto irmão, ele deve usar um arquivo de biblioteca diferente, dependendo de qual configuração está sendo criada. Assim, codificar esses caminhos pode ser complicado.

Todos os arquivos de saída essenciais (como executáveis, arquivos vinculadores incrementais e arquivos PDB) são copiados para um diretório de solução comum. Assim, ao trabalhar com uma solução que contém vários projetos C++ com configurações equivalentes, todos os arquivos de saída são centralizados para vinculação e implantação simplificadas. Pode-se ter certeza de que o seu aplicativo/biblioteca funcionará como esperado se eles mantiverem esses arquivos juntos, uma vez que os arquivos estarão garantidamente no caminho.

O local dos arquivos de saída pode ser um grande problema ao implantar em um ambiente de produção. Ao executar projetos no IDE, os caminhos para bibliotecas incluídas não são necessariamente os mesmos que no ambiente de produção. Por exemplo, se tiveres #using "../../lib/debug/mylib.dll" no teu código, mas depois implementares mylib.dll numa posição relativa diferente, a aplicação falhará em execução. Para evitar isto, deve-se evitar o uso de percursos relativos nas instruções #include no seu código. É melhor garantir que os arquivos necessários estejam no caminho de construção do projeto e, da mesma forma, garantir que os arquivos de produção correspondentes sejam colocados corretamente.

Como especificar para onde vão os arquivos de saída

  1. O local das configurações de saída do projeto pode ser encontrado nas Páginas de propriedades do projeto. Expanda o nó ao lado de Propriedades de configuração e selecione Geral. O local de saída é especificado ao lado de Diretório de saída. Para obter mais informações, consulte Página Geral de Propriedades (Projeto).

Ver também

Tipos de projeto C++ no Visual Studio