Como incluir caminhos de trabalho em estúdio Visual?

O Visual Studio deixa-me louco e desconfio que estou a fazer algo de errado.

Isto é o que eu faço: instalei o Visual Studio (Pro '08) há muito tempo, instalei o Windows SDK (Win 7 x64), alguém me envia um projecto por e-mail, que não consegue construir.

Invariavelmente, não consegue encontrar janelas.h. Embora seja bastante fácil incluir C:\Program Files\Microsoft SDKs\Windows\v7.0\Include nas configurações do projecto de cada projecto, penso que esta pode não ser a forma correcta de o fazer. Há alguma forma de fazer contacto Visual? Estúdio globalmente ciente destes arquivos?
Eu também tentei incluir o diretório acima na variável path mas isso não mudou nada.

Além disso, irá encontrar janelas aleatoriamente.h mas não winresrc.h no mesmo directório.

Editar:
Foi um problema com a minha máquina. De alguma forma, o Visual Studio pensou que o meu Windows SDK estava no lugar errado. Veja a resposta aceita e os comentários para a correção.

Author: bastibe, 2010-04-20

6 answers

Pode definir o caminho global de inclusão do Visual Studio aqui.

Tools / Options / Projects and Solutions / VC++ Directories / Include files

Actualização (em Visual Studio 2015): enter image description here

 21
Author: RichieHindle, 2016-12-16 20:52:22

@RichieHindle solution is now depreciated as of Visual Studio 2012. Como o prompt VS studio afirma agora:

As Pastas VC++ estão agora disponíveis como uma folha de propriedades do utilizador que é adicionada por omissão a todos os projectos.

Para definir um caminho de inclusão, deverá agora carregar com o botão direito num projecto e ir para:

Properties/VC++ Directories/General/Include Directories
Imagem: enter image description here
 55
Author: stackunderflow, 2016-12-16 21:01:07

Retomar as soluções de trabalho no VisualStudio 2013 e 2015 também:

Adicione um caminho de inclusão apenas ao projecto actual

Em Solution Explorer (uma janela de paleta do VisualStudio-mainwindow), abra o menu de atalhos para o projecto e escolha as propriedades, e depois na área esquerda da janela de páginas de propriedades, expanda as propriedades de configuração e seleccione as pastas VC++. Os caminhos adicionais incluem-ou lib - são específicos lá.

É o quê? Stackunderflow euser1741137 diga nas respostas acima. É o que a Microsoft explica em MSDN também.

Adicione um caminho de inclusão a cada novo projecto automaticamente

É a questão, o que Jay Elston está a fazer num comentário acima e o que é uma pergunta muito óbvia e ardente aos meus olhos, o que parece ainda não ter resposta aqui.

Existem formas regulares de o fazer no VisualStudio (ver CurlyBrace.com [16]), o que no meu a experiência não está a funcionar correctamente. No sentido de que ele funciona apenas uma vez, e depois, ele não é mais expansível e nomore removível. A abordagem de Steve Wilkinson em outro tópico relacionado próximo do StackOverflow, editar o arquivo Microsoft-Factory-XML - no diretório' program files ' é provavelmente um hack arriscado, já que não é esperado pela Microsoft para encontrar lá algo estranho. O efeito é potencialmente imprevisível. Bem, prefiro julgar arriscado não muito, mas seja como for ... a melhor maneira de fazer o VisualStudio trabalhar incompreensível pelo menos para outra pessoa.

O que está a funcionar bem em comparação com, é a edição do ficheiro XML-utilizador correspondente:

C:\Users\UserName\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.usuario.props

Ou / e

C:\Users\UserName\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x64.usuario.props

Por exemplo:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets">
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <IncludePath>C:\any-name\include;$(IncludePath)</IncludePath>
    <LibraryPath>C:\any-name\lib;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup />
  <ItemGroup />
</Project>

Onde está o directório 'C:\any-name\include' será preparado para a actual localização de inclusão e o directório 'C:\any-name\lib para o caminho da biblioteca. Aqui, podemos editá-lo há uma extensão e remoção de sentido e removê-lo todo, removendo o conteúdo de toda a etiqueta .

É o que faz o VisualStudio em si, fazendo-o da forma regular que CurlyBrace descreve. Como disse, não é editável na forma de encadeamento depois nomore, mas na forma de edição XML é.

Para mais insight, see Brian Tyler@MSDN-Blog 2009, what is admittedly nothedly very fresh, but always the what Microsoft is linking to.

 21
Author: Pablo el Puro, 2017-05-23 12:26:22

Para usar o Windows SDK com sucesso, você precisa não só tornar os ficheiros de inclusão disponíveis para os seus projectos, mas também ficheiros de biblioteca e executáveis (ferramentas). Para definir todas estas pastas, deverá usar a ferramenta de Configuração WinSDK .

 2
Author: Piotr Dobrogost, 2011-03-04 21:12:30

Se você está apenas tentando mudar os caminhos de inclusão para um projeto e não para todas as soluções em seguida, no Visual Studio 2008 fazer isso: Clique com o botão direito no nome do projeto no navegador da solução. No menu de contexto seleccione as propriedades. Na janela de páginas de propriedades seleccione as propriedades de configuração - >C / C++ / General. Carregue no campo de texto ao lado do rótulo "incluir ficheiros adicionais" e procure o directório apropriado. Selecione OK.

O que me irrita é que algumas das respostas para a pergunta original feita não se aplica à versão do Visual Studio que foi mencionado.
 2
Author: user1741137, 2014-04-17 13:35:37

Tens de ter a certeza e ter o seguinte:

#include <windows.h>

E não isto:

#include "windows.h"

Se esse não é o problema, então verifique a resposta de RichieHindle {[[9]}.

 -3
Author: Sam Harwell, 2017-05-23 12:34:38