Ogólna strona właściwości (projekt)
Ten artykuł dotyczy projektów programu Visual Studio dla systemu Windows. W przypadku projektów systemu Linux zobacz Dokumentacja strony właściwości języka C++ dla systemu Linux. W przypadku projektów CMake zobacz Projekty CMake w programie Visual Studio. W przypadku projektów systemu Android zobacz Ogólne właściwości projektu (Android C++). W przypadku projektów makefile systemu Android zobacz Ogólne właściwości projektu (Android C++ Makefile). W programie Visual Studio 2019 niektóre właściwości projektów innych niż uwP (środowisko wykonawcze systemu Windows lub platforma uniwersalna systemu Windows) zostały przeniesione do strony właściwości Zaawansowane.
Aby otworzyć okno dialogowe Strony właściwości dla projektu, wybierz projekt (a nie rozwiązanie) w Eksplorator rozwiązań. Następnie wybierz menu Właściwości projektu Project-name>na pasku menu. Możesz też kliknąć prawym przyciskiem myszy węzeł projektu w Eksplorator rozwiązań i wybrać polecenie Właściwości z menu skrótów.
W oknie dialogowym Strony właściwości właściwości konfiguracji>strona Właściwości ogólne wyświetla właściwości projektu na podstawie typu projektu. Te właściwości są zbierane w jednym lub dwóch nagłówkach w zależności od typu projektu:
Ogólne
Wartości domyślne projektu
Ogólne
Nagłówek właściwości Ogólne zawiera kilka kombinacji tych właściwości:
Platforma docelowa
Określa platformę, na którą działa projekt. Na przykład Windows, Android lub iOS. Wartość Windows 10 oznacza, że projekt jest przeznaczony dla platforma uniwersalna systemu Windows. Jeśli używasz innych wersji systemu Windows, wersja nie jest wyświetlana i wartość w tym polu jest wyświetlana jako tylko Windows. Ta właściwość jest polem tylko do odczytu ustawionym podczas tworzenia projektu.
Wersja platformy docelowej
Określa wersję zestawu Windows SDK używanego do kompilowania projektu. Ta właściwość jest wyświetlana tylko wtedy, gdy typ projektu go obsługuje. Możesz wybrać 10.0, aby określić najnowszą wersję zestawu Windows SDK. Jeśli Aplikacja może korzystać z funkcji w tej wersji zestawu Windows SDK, ale nadal może działać w starszych wersjach bez tych funkcji, być może z pewną utratą funkcji, wartość tej właściwości i właściwość Minimalna wersja platformy docelowej może być inna. Jeśli tak, kod powinien sprawdzić wersję platformy, na którą działa w czasie wykonywania, i wyłączyć funkcje, które nie są dostępne w starszych wersjach platformy.
Minimalna platforma docelowa. Wersja
Określa najniższą wersję platformy, na którą można uruchomić projekt. Ta właściwość jest wyświetlana tylko wtedy, gdy typ projektu go obsługuje. Ustaw tę wartość, jeśli aplikacja może korzystać z funkcji w nowszej wersji zestawu Windows SDK, ale nadal działa we wcześniejszych wersjach, być może z pewną utratą funkcji. Jeśli ustawiono niższą wartość, kod powinien sprawdzić wersję platformy uruchomionej w czasie wykonywania. Następnie wyłącz funkcje, które nie są dostępne w starszych wersjach platformy.
System projektu C++ nie wymusza tej opcji. Jest on uwzględniony w celu zapewnienia spójności z innymi językami, takimi jak C# i JavaScript, oraz jako przewodnik dla każdego, kto korzysta z projektu. Program Microsoft C++ nie wygeneruje błędu, jeśli używasz funkcji, która nie jest dostępna w minimalnej wersji.
Wersja zestawu Windows SDK
Dla platformy docelowej systemu Windows ta właściwość określa wersję zestawu Windows SDK wymaganego przez projekt. Gdy Instalator programu Visual Studio instaluje obciążenie języka C++, instaluje również wymagane części zestawu Windows SDK. Jeśli masz inne wersje zestawu Windows SDK na komputerze, każda zainstalowana wersja pojawi się na liście rozwijanej.
Aby kierować system Windows 7 lub Windows Vista, użyj wartości 8.1, ponieważ zestaw Windows SDK 8.1 jest zgodny z poprzednimi wersjami dla tych platform. W przypadku określania docelowej wcześniejszej wersji zdefiniuj odpowiednią wartość dla _WIN32_WINNT
elementu w pliku targetver.h
. W przypadku systemu Windows 7 jest to 0x0601. Aby uzyskać więcej informacji, zobacz Modyfikowanie WINVER
i _WIN32_WINNT
.
Zestaw narzędzi platformy Windows XP można zainstalować jako składnik opcjonalny w Instalator programu Visual Studio w celu kompilowania projektów systemu Windows XP i Windows 2003 Server. Aby uzyskać informacje na temat uzyskiwania i używania tego zestawu narzędzi platformy, zobacz Konfigurowanie programów dla systemu Windows XP. Aby uzyskać więcej informacji na temat zmiany zestawu narzędzi platformy, zobacz How to: Modify the target framework and platform toolset (Instrukcje: modyfikowanie platformy docelowej i zestawu narzędzi platformy).
Katalog wyjściowy
Określa katalog, w którym narzędzia kompilacji, takie jak konsolidator, umieszcza wszystkie końcowe pliki wyjściowe utworzone podczas procesu kompilacji. Zazwyczaj ten katalog zawiera dane wyjściowe narzędzi, takich jak konsolidator, bibliotekarz lub BSCMake. Domyślnie ta właściwość jest katalogem określonym przez kombinację $(SolutionDir)$(Configuration)\
makr .
Aby programowo uzyskać dostęp do tej właściwości, zobacz OutputDirectory.
Katalog pośredni
Określa katalog, w którym narzędzia, takie jak kompilator, umieszczają wszystkie pliki pośrednie utworzone podczas procesu kompilacji. Zazwyczaj ten katalog zawiera dane wyjściowe narzędzi, takich jak kompilator języka C/C++, MIDL i kompilator zasobów. Domyślnie ta właściwość jest katalogem określonym przez makro $(Configuration)\
.
Aby programowo uzyskać dostęp do tej właściwości, zobacz IntermediateDirectory.
Nazwa obiektu docelowego
Określa nazwę pliku, który generuje ten projekt. Domyślnie ta właściwość jest nazwą pliku określoną przez makro $(ProjectName)
.
Rozszerzenie docelowe
Określa rozszerzenie pliku, które generuje ten projekt, na przykład .exe
lub .dll
. W przypadku niektórych typów projektów programu Visual Studio 2019 ta właściwość została przeniesiona na stronę właściwości Zaawansowane.
Rozszerzenia do usunięcia przy czyszczeniu
Polecenie menu Kompiluj>czyste usuwa pliki z katalogu pośredniego, w którym jest kompilowana konfiguracja projektu. System kompilacji usuwa pliki z określonymi rozszerzeniami podczas uruchamiania polecenia Clean lub podczas ponownego kompilowania. System kompilacji usuwa również wszystkie znane dane wyjściowe kompilacji niezależnie od tego, gdzie się znajduje. Usunięte pliki obejmują wszystkie pośrednie dane wyjściowe, takie jak .obj
pliki. Użyj średników (;
), aby oddzielić rozszerzenia. Możesz określić symbole wieloznaczne (*
, ?
) w rozszerzeniach.
Aby programowo uzyskać dostęp do tej właściwości, zobacz DeleteExtensionsOnClean. W przypadku niektórych typów projektów programu Visual Studio 2019 ta właściwość została przeniesiona na stronę właściwości Zaawansowane.
Plik dziennika kompilacji
Umożliwia określenie lokalizacji innej niż domyślna dla pliku dziennika utworzonego podczas tworzenia projektu. Domyślna lokalizacja jest określana przez kombinację $(IntDir)$(MSBuildProjectName).log
makr . W przypadku niektórych typów projektów programu Visual Studio 2019 ta właściwość została przeniesiona na stronę właściwości Zaawansowane.
Aby zmienić lokalizację katalogu, możesz użyć makr projektu. Aby uzyskać więcej informacji, zobacz Typowe makra dla poleceń i właściwości kompilacji.
Zestaw narzędzi platformy
Określa zestaw narzędzi używany do tworzenia bieżącej konfiguracji. Ta właściwość umożliwia projektowi określenie innej wersji bibliotek i kompilatora Visual C++. Domyślnie projekty programu Visual Studio C++ są przeznaczone dla najnowszego zestawu narzędzi zainstalowanego przez program Visual Studio. Zamiast tego można wybrać jeden z zestawów narzędzi zainstalowanych przez kilka poprzednich wersji programu Visual Studio. Niektóre starsze zestawy narzędzi mogą tworzyć pliki wykonywalne uruchamiane w systemie Windows XP lub Vista. Aby uzyskać więcej informacji na temat zmieniania zestawu narzędzi platformy, zobacz How to: Modify the target framework and platform toolset (Instrukcje: modyfikowanie platformy docelowej i zestawu narzędzi platformy).
Włączanie kompilacji przyrostowej zarządzanej
W przypadku projektów zarządzanych ta właściwość umożliwia wykrywanie widoczności zewnętrznej podczas generowania zestawów. Jeśli zmiana projektu zarządzanego nie jest widoczna dla innych projektów, projekty zależne nie zostaną ponownie skompilowane. Ta opcja może znacznie poprawić czas kompilacji w rozwiązaniach obejmujących projekty zarządzane. W projektach programu Visual Studio 2019 ta właściwość została przeniesiona na stronę właściwości Zaawansowane.
Typ konfiguracji
Określa dane wyjściowe projektu i jego wymagane narzędzia. W projektach platformy UWP ta właściwość jest wyświetlana pod nagłówkiem Project Defaults (Ustawienia domyślne projektu). Istnieje kilka typów konfiguracji, z których należy wybrać, w zależności od typu projektu:
Aplikacja (.exe)
Wyświetla zestaw narzędzi konsolidatora: kompilator C/C++, MIDL, kompilator zasobów, konsolidator, BSCMake, generator proxy usługi sieci Web XML, kompilacja niestandardowa, kompilacja wstępna, wstępne łączenie i zdarzenia po kompilacji.
Biblioteka dynamiczna (.dll)
Wyświetla zestaw narzędzi konsolidatora, określa /DLL
opcję konsolidatora i dodaje _WINDLL
definicję preprocesora do wiersza polecenia CL.
Makefile
Wyświetla zestaw narzędzi makefile (NMake).
Biblioteka statyczna (.lib)
Wyświetla zestaw narzędzi biblioteki. Jest on taki sam jak zestaw narzędzi konsolidatora, z wyjątkiem zastępuje konsolidator biblioteki i pomija generator serwera proxy usługi sieci Web XML.
Narzędzie
Wyświetla zestaw narzędzi (MIDL, niestandardowe zdarzenia kompilacji, kompilacji wstępnej i postbuild).
Aby programowo uzyskać dostęp do tej właściwości, zobacz ConfigurationType.
C++ Language Standard
Określa, który standard języka C++ ma być używany. Wartość domyślna to /std:c++14
. Określ /std:c++17
, czy używać funkcji języka C++17, /std:c++20
do używania funkcji języka C++20 oraz /std:c++latest
do używania proponowanych funkcji języka C++23 lub innych funkcji eksperymentalnych. Aby uzyskać więcej informacji, zobacz /std
(Określ wersję standardową języka).
C Language Standard
Określa, który standard języka C ma być używany. Wartość domyślna to Starsza wersja MSVC, która implementuje C89, niektóre rozszerzenia C99 i rozszerzenia specyficzne dla firmy Microsoft. Określ /std:c11
, aby używać funkcji C11 i /std:c17
korzystać z funkcji C17. Aby uzyskać więcej informacji, zobacz /std
(Określanie wersji standardowej języka)
Wartości domyślne projektu
Typ konfiguracji
Określa dane wyjściowe projektu i jego wymagane narzędzia. W projektach platformy UWP ta właściwość jest wyświetlana pod nagłówkiem Project Defaults (Ustawienia domyślne projektu). Istnieje kilka typów konfiguracji, z których należy wybrać, w zależności od typu projektu:
Aplikacja (.exe)
Wyświetla zestaw narzędzi konsolidatora: kompilator C/C++, MIDL, kompilator zasobów, konsolidator, BSCMake, generator proxy usługi sieci Web XML, kompilacja niestandardowa, kompilacja wstępna, wstępne łączenie i zdarzenia po kompilacji.
Biblioteka dynamiczna (.dll)
Wyświetla zestaw narzędzi konsolidatora, określa /DLL
opcję konsolidatora i dodaje _WINDLL
definicję preprocesora do wiersza polecenia CL.
Makefile
Wyświetla zestaw narzędzi makefile (NMake).
Biblioteka statyczna (.lib)
Wyświetla zestaw narzędzi biblioteki. Jest on taki sam jak zestaw narzędzi konsolidatora, z wyjątkiem zastępuje konsolidator biblioteki i pomija generator serwera proxy usługi sieci Web XML.
Narzędzie
Wyświetla zestaw narzędzi (MIDL, niestandardowe zdarzenia kompilacji, kompilacji wstępnej i postbuild).
Aby programowo uzyskać dostęp do tej właściwości, zobacz ConfigurationType.
Korzystanie z MFC
Określa, czy projekt MFC statycznie lub dynamicznie łączy się z biblioteką MFC DLL. W projektach innych niż MFC wybierz pozycję Użyj standardowych bibliotek systemu Windows. W projektach programu Visual Studio 2019 ta właściwość została przeniesiona na stronę właściwości Zaawansowane.
Aby programowo uzyskać dostęp do tej właściwości, zobacz useOfMfc.
Zestaw znaków
Określa, czy _UNICODE
ma być ustawione makro preprocesora lub _MBCS
. Również wpływa na punkt wejścia konsolidatora, jeśli jest to konieczne. W projektach programu Visual Studio 2019 ta właściwość została przeniesiona na stronę właściwości Zaawansowane.
Aby programowo uzyskać dostęp do tej właściwości, zobacz CharacterSet.
Obsługa środowiska uruchomieniowego języka wspólnego
Powoduje użycie opcji kompilatora /clr
. W projektach programu Visual Studio 2019 ta właściwość została przeniesiona na stronę właściwości Zaawansowane.
Aby programowo uzyskać dostęp do tej właściwości, zobacz ManagedExtensions.
Wersja programu .NET Target Framework
W projektach zarządzanych określa wersję platformy .NET Framework docelową. W projektach programu Visual Studio 2019 ta właściwość została przeniesiona na stronę właściwości Zaawansowane.
Optymalizacja całego programu
Określa opcję kompilatora /GL
i /LTCG
opcję konsolidatora. Domyślnie ta właściwość jest wyłączona dla konfiguracji debugowania i włączona dla konfiguracji wydania. W projektach programu Visual Studio 2019 ta właściwość została przeniesiona na stronę właściwości Zaawansowane.
Obsługa aplikacji ze Sklepu Windows
Określa, czy ten projekt obsługuje aplikacje środowisko wykonawcze systemu Windows (platforma uniwersalna systemu Windows lub UWP). Aby uzyskać więcej informacji, zobacz /ZW
(kompilacja środowisko wykonawcze systemu Windows) i dokumentację platformy UWP dla deweloperów systemu Windows.
Zgodność z pulpitem systemu Windows
Umożliwia również obsługę aplikacji klasycznych w danych wyjściowych tego projektu środowisko wykonawcze systemu Windows. Ta właściwość ustawia <DesktopCompatible>
wartość w pliku projektu. Właściwość Zgodna z pulpitem systemu Windows jest dostępna od wersji 16.9 programu Visual Studio 2019.