Visual Studio 2012 obok 2010 - kernel32.lib, windows.h

Właśnie zainstalowałem Visual Studio 2012 wraz z Visual Studio 2010. Problem polega na tym, że nie mogę przekonwertować prostych projektów z 2010 na 2012 - nie można połączyć się z plikami takimi jak kernel32.lib lub dołączyć pliki takie jak windows.h. Mój system ma także zainstalowany Windows SDK 7.1.

Próbowałem bawić się z Menedżerem właściwości dla moich platform dla użytkowników x86 i x64 (ponieważ dodałem tam odpowiednie odwołania do $ (DXSDK_DIR)), tylko po to, by uzyskać mieszane wyniki - czasami po prostu działa, czasami kompiluje, ale nie łączy, innym razem po prostu zatrzymuje się na windows.h

Na przykład obecnie się dostaję

1>LINK : fatal error LNK1104: cannot open file 'kernel32.lib'

lub

1>Source.cpp(2): fatal error C1083: Cannot open include file: 'windows.h': No such file or directory

(w zależności od włączenia lub wyłączenia „windows.h”) za pomocą prostego programu typu „hello world” tylko w x64.

W właściwościach projektu dlaActive(Debug) / Active(x64) -> VC++ Directories -> Include Directories Teraz widzę$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath);$(DXSDK_DIR)Include. Jeśli rozwinę to pole wprowadzania i kliknę Edytuj, zobaczę:

$(VCInstallDir) = C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\
$(WindowsSDK_IncludePath) = c:\Program Files (x86)\Windows Kits\8.0\Include\um;c:\Program Files (x86)\Windows Kits\8.0\Include\shared;c:\Program Files (x86)\Windows Kits\8.0\Include\WinRT

Podczas gdy mój zestaw narzędzi platformy v110 znajduje się w windows.hc:\Program Files (x86)\Windows Kits\8.0\Include\um\Windows.h (więc nie powinno być problemu). Rzeczy działają, jeśli wybiorę Windows SDK 7.1 jako zestaw narzędzi platformy.

Jakiekolwiek rozwiązanie oprócz formatowania i ponownej instalacji systemu Windows?

L.E. jeśli zastąpię katalogi $ (zmienna) absolutnymi ścieżkami w systemie, wszystko działa. Nie rozumiem, dlaczego miałbym to zrobić, ponieważ dzielę się projektem z innymi.

questionAnswers(2)

yourAnswerToTheQuestion