To jest niezręczność, która została wprowadzona w VS2010. Ustawienia katalogów VC ++ znajdowały się wcześniej w menu Narzędzia + Opcje, Projekty i rozwiązania, Katalogi VC ++. Ustawienia globalne stosowane do każdego projektu zbudowanego na komputerze. Nadal tam jest, ale wskazuje, że powinieneś teraz zmienić to w ustawieniach projektu. Efekt uboczny remontu silnika kompilacji w VS2010, umożliwiający budowanie za pomocą msbuild. Usunięcie ustawień dla poszczególnych projektów byłoby logiczne, ale spowodowałoby to uszkodzenie zbyt wielu istniejących projektów.
W związku z tym prawdopodobnie najlepiej jest traktować ustawienia katalogów VC ++ jako domyślne dla maszyny. Jest on automatycznie ustawiany przez instalator VS. Majstrować przy tym tylko wtedy, gdy potrzebujesz nietypowej kolejności wyszukiwania w katalogu, umieszczając niestandardowe lokalizacje na końcu. To bardzo nietypowe.
To jednak działa. I w końcu zostało to wykorzystane. Zwiększanie możliwości ustawienia zestawu narzędzi platformy w wersji VS2012 i nowszych. Inny kompilator, inny konsolidator, różne katalogi #include, inna ścieżka wyszukiwania konsolidatora. Zmodyfikowany tylko jednym ustawieniem, fajnie.
Microsoft.Cpp.Win32.user
i tylko to. Jeśli edytujesz wpis „VC ++ Directories”, gdy projekt jest aktywny lub inny arkusz właściwości, wówczas zmiana zostanie utrwalona w.vcxproj
pliku lub w odpowiednim.props
pliku i nie będzie w ogóle dotyczyć całego użytkownika.Include odpowiada zmiennej środowiskowej
INCLUDE
.Podczas gdy dodatkowe katalogi dołączane są przekazywane za pośrednictwem argumentu wiersza poleceń (tj.
\I
Opcji).źródło
KONFIGURACJA OBEJMUJE ŚCIEŻKI
Katalogi VC ++: Uwzględnij katalogi
INCLUDE
Windows, która jest zdefiniowana poza programem Visual StudioINCLUDE
ILIB
zmienne środowiskowe są tworzone, gdy Microsoft Windows SDK jest instalowany z Visual Studio .C / C ++: dodatkowe dołączanie katalogów
DODATKOWE UWAGI
Którego powinienem użyć?
Decyzja o użyciu dołączonych katalogów lub dodatkowych dołączanych katalogów będzie zależeć od procesu rozwoju organizacji. Moim zdaniem ważniejsze jest:
Uwaga dotycząca makr
#define
dyrektywą preprocesora C ++ ) dziedziczą zawartość z różnych źródeł. Makra takie jak ...$(Include)
dziedziczą wartości ze zmiennych środowiskowych systemu Windows$(OutDir)
dziedziczą swoje wartości z Visual Studio IDEBIBLIOGRAFIA
źródło