Megosztás a következőn keresztül:


Fordító- és buildtulajdonságok beállítása

A Visual Studio IDE-ben megtekintheti és szerkesztheti a projekt fordításához és létrehozásához szükséges tulajdonságokat. Ez az információ tartalmazza az alkalmazás nevét, bővítményét (például DLL, LIB, EXE), fordítói beállításokat, hivatkozási beállításokat, hibakereső beállításokat és egyéni buildelési lépéseket.

Ezeket a tulajdonságokat tulajdonságlapokkal tekintheti meg és módosíthatja. A tulajdonságlapok eléréséhez válassza a Projekt>projektnév tulajdonságai lehetőséget a főmenüben, vagy kattintson a jobb gombbal a projektcsomópontra a Megoldáskezelőben , és válassza a Tulajdonságok lehetőséget.

Alapértelmezett tulajdonságok

Projekt létrehozásakor a rendszer különböző tulajdonságok értékeit rendeli hozzá. Az alapértelmezett értékek némileg eltérnek a projekt típusától és az alkalmazásvarázslóban választott lehetőségektől függően. Az Active Template Library (ATL) projekt például rendelkezik a Microsoft Interface Definition Language (MIDL) fájlokkal kapcsolatos tulajdonságokkal, de ezek a tulajdonságok hiányoznak egy alapszintű konzolalkalmazásban. Az alapértelmezett tulajdonságok a Tulajdonságlapok ablak Speciális paneljén jelennek meg:

Képernyőkép a Visual Studio projekttulajdonságok párbeszédpaneljéről, amelyen a Speciális ablaktábla van kijelölve. Az olyan tulajdonságok, mint az MFC használata, a karakterkészlet és így tovább, kiemelve vannak.

Tulajdonságok alkalmazása konfigurációk és célplatformok létrehozásához

Egyes tulajdonságok, például az alkalmazás neve, az összes buildváltozatra és célplatformra érvényesek, legyen szó hibakeresésről vagy kiadási buildről. A legtöbb tulajdonság azonban konfigurációfüggő. A megfelelő kód létrehozásához a fordítónak ismernie kell azt a platformot, amelyen a program fut, és hogy mely fordítóbeállításokat kell használnia. Ezért egy tulajdonság beállításakor fontos figyelembe venni, hogy az új érték mely konfigurációra és platformra vonatkozik. Csak a Win32-buildek hibakeresésére kell alkalmazni, vagy az ARM64 hibakeresésére és az x64 hibakeresésére is? Az Optimalizálási tulajdonság például alapértelmezés szerint a Teljes sebesség (/O2) értékre van állítva egy kiadási konfigurációban, de a hibakeresési konfigurációban le van tiltva.

Mindig láthatja és módosíthatja azt a konfigurációt és platformot, amelyre egy tulajdonságértéknek vonatkoznia kell. Az alábbi ábrán a tulajdonságok lapjai láthatók, felül a konfigurációs és a platforminformációs vezérlőkkel. Ha az Optimalizálási tulajdonság itt van beállítva, az csak az x64-buildek hibakeresésére, az aktuálisan aktív konfigurációra vonatkozik, ahogy a piros nyilak is mutatják.

Képernyőkép a Visual Studio tulajdonságlapjai párbeszédpanelről.

A lap meg van nyitva a C/C++ optimalizálás számára. Az optimalizálási beállítás Letiltva (/Od) értékre van állítva, amely ki van hívva. Egy nyíl felhívja a kapcsolatot a Projekttulajdonság lapon található Konfiguráció beállítás között, amely Aktív(Hibakeresés) értékre van állítva, és az eszköztár Megoldáskonfiguráció legördülő menüjében található beállítás hibakeresésre van beállítva. Egy másik nyíl az Aktív(x64) értékre beállított projekttulajdonság-lapon lévő Platform beállítás és az eszköztár Megoldásplatform legördülő menüjének x64-es beállítása közötti kapcsolatot hívja meg.

Az alábbi ábrán ugyanaz a projekttulajdonság lap látható, de a konfiguráció kiadásra lett módosítva. Figyelje meg az Optimalizálási tulajdonság eltérő értékét. Ne feledje, hogy az aktív konfiguráció továbbra is Debug. Itt bármilyen konfigurációhoz megadhat tulajdonságokat; nem kell az aktívnak lennie.

Képernyőkép a Visual Studio projekt tulajdonságlapjai párbeszédpanelről. A Konfiguráció legördülő lista ki van választva, és Kiadásra van állítva. Az optimalizálási beállítás a Maximális sebesség/O2 értékre van állítva.

Célplatformok

A célplatform arra az eszközre és operációs rendszerre utal, amelyen a végrehajtható rendszer fut. Egy projektet több platformhoz is létrehozhat. A C++ projektekhez elérhető célplatformok a projekt típusától függenek. Ilyenek például a Win32, az x64, az ARM, az ARM64, az Android és az iOS. A Configuration Managerben látható x86-os célplatform megegyezik a Win32-nel natív C++ projektekben. A Win32 a 32 bites Windowst, az x64 pedig a 64 bites Windowst jelenti. A két platformról további információt a 32 bites alkalmazások futtatása című témakörben talál.

A Configuration Managerben látható Any CPU célplatform érték nincs hatással a natív C++ projektekre. Ez csak a C++/CLI és más .NET-projekttípusok esetében releváns. További információt a (CLR-rendszerkép típusának megadása) című témakörben talál/CLRIMAGETYPE.

További információ a hibakeresési buildek tulajdonságainak beállításáról:

A C++ fordító és a linker beállításai

A C++ fordító és a linker beállításai a bal oldali panel C/C++ és Linker csomópontjai alatt találhatók a Konfiguráció tulajdonságai csoportban. Ezek a beállítások közvetlenül a fordítónak átadott parancssori beállításokra fordítódnak le. Ha egy adott beállítás dokumentációját szeretné elolvasni, jelölje ki a beállítást a középső panelen, és nyomja le az F1 billentyűt. Vagy böngészhet a dokumentációban az MSVC-fordító beállításai és az MSVC-linker beállításai között.

A Tulajdonságlapok párbeszédpanelen csak az aktuális projekt szempontjából releváns tulajdonságlapok láthatók. Ha például a projekt nem rendelkezik fájllal .idl , a MIDL tulajdonságlap nem jelenik meg. Az egyes tulajdonságoldalak beállításairól további információt a Tulajdonságlapok (C++) című témakörben talál.

Könyvtár- és elérési-út-értékek

Az MSBuild támogatja a fordítási idő állandóinak használatát bizonyos sztringértékekhez, például könyvtárakhoz és elérési utakhoz, úgynevezett makrókhoz. A makrók hivatkozhatnak a Visual Studio vagy az MSBuild rendszer által meghatározott értékekre, vagy egy felhasználó által definiált értékre. A makrók így néznek ki: $(macro-name) vagy %(item-macro-name). A tulajdonságok a tulajdonságlapokon vannak közzétéve, ahol a Tulajdonságszerkesztővel hivatkozhat rájuk, és módosíthatja őket. Használjon makrókat a kézzel beállított értékek, például a címtár elérési útjai helyett. A makrók megkönnyítik a tulajdonságbeállítások megosztását a gépek és a Visual Studio verziói között. Azt is jobban biztosíthatja, hogy a projektbeállítások megfelelően vegyenek részt a tulajdonságöröklésben.

Az alábbi ábrán egy Visual Studio C++ projekt tulajdonságlapjai láthatók. A bal oldali panelen ki van jelölve a VC++ könyvtárakszabály , a jobb oldali panel pedig az adott szabályhoz társított tulajdonságokat sorolja fel. A tulajdonságértékek gyakran makrók, például $(VC_SourcePath):

Képernyőkép a Visual Studio tulajdonságlapjai párbeszédpanelről a különböző könyvtárakra vonatkozó szabályokhoz.

Meg van nyitva a VC plusz könyvtárak lap, amely rendelkezik a VC++ könyvtárak szabályainak tulajdonságaival. Példaszabály a forráskönyvtárak, amelyek $(VC_SourcePath) értékre van állítva. Vannak szabályok a bevonandó mappákra, a könyvtár mappákra, a végrehajtható mappákra és hasonlókra.

A Tulajdonságszerkesztővel megtekintheti az összes elérhető makró értékét.

Előre definiált makrók

  • Globális makrók
    A globális makrók a projektkonfiguráció összes elemére érvényesek. A globális makró szintaxisa $(name). A "$(VCInstallDir)" egy példa a globális makróra, amely a Visual Studio-telepítés gyökérkönyvtárát tárolja. A globális makró egy PropertyGroup-nek felel meg az MSBuild-ben.

  • Elemmakrók
    Az elemmakrók szintaxisa %(name). Egy fájl esetében az elemmakró csak az adott fájlra vonatkozik. Például használhatja a %(AdditionalIncludeDirectories) kifejezést olyan könyvtárak meghatározására, amelyek csak egy adott fájlra vonatkoznak. Az ilyen típusú elemmakró az MSBuild metaadatainak ItemGroup felel meg. Ha egy projektkonfiguráció kontextusában használják, az elemmakró egy adott típusú összes fájlra vonatkozik. A C/C++ preprocesszordefiníciók konfigurációs tulajdonsága például olyan elemmakrót %(PreprocessorDefinitions) vehet fel, amely a projekt összes .cpp fájlját érinti. Az ilyen típusú elemmakró az MSBuild metaadatainak ItemDefinitionGroup felel meg. További információ: Elemdefiníciók.

Felhasználó által definiált makrók

Létrehozhat felhasználó által definiált makrókat , hogy változóként használják a projekt buildjeiben. Létrehozhat például egy felhasználó által definiált makrót, amely értéket biztosít egy egyéni buildelési lépéshez vagy egy egyéni buildelési eszközhöz. A felhasználó által definiált makró egy név-érték pár. Egy projektfájlban használja a $(name) jelölést az érték eléréséhez.

A felhasználó által definiált makrók egy tulajdonságlapon találhatók. Ha a projekt még nem tartalmaz tulajdonságlapot, létrehozhat egyet a Visual Studio-projekt beállításainak megosztása vagy újrafelhasználása című témakörben leírt lépések végrehajtásával.

Felhasználó által definiált makró létrehozása

  1. Nyissa meg a Tulajdonságkezelő ablakot. A menüsávon válassza azEgyéb Windows>tulajdonságkezelő>. Nyissa meg egy tulajdonságlap helyi menüjét (a neve véget ér), majd válassza a .userTulajdonságok lehetőséget. Megnyílik a Tulajdonságlapok párbeszédpanel.

  2. A párbeszédpanel bal oldali ablaktábláján válassza a Felhasználói makrók lehetőséget. A jobb oldali panelen válassza a Makró hozzáadása gombot a Felhasználói makró hozzáadása párbeszédpanel megnyitásához.

  3. A párbeszédpanelen adja meg a makró nevét és értékét. Ha szeretné, válassza a Beállítás makró környezeti változóként a build környezetben jelölőnégyzetet.

Tulajdonságszerkesztő

A Tulajdonságszerkesztővel módosíthatja bizonyos sztringtulajdonságokat, és makrókat jelölhet ki értékként. A Tulajdonságszerkesztő eléréséhez válasszon ki egy tulajdonságot egy tulajdonságlapon, majd kattintson a jobbra található lefelé mutató nyílra. Ha a legördülő lista <Szerkesztés> elemet tartalmazza, akkor azt kiválaszthatja a tulajdonságszerkesztő megjelenítéséhez az adott tulajdonság számára.

Képernyőkép a Visual Studio projekttulajdonságok lapjáról a VC plusz könyvtárak esetében.

A Címtárak belefoglalása beállítás tulajdonságszerkesztője meg van nyitva. Az Include könyvtárak kiértékelt értékét jeleníti meg, amely a C:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\Include. A két öröklött értéket jeleníti meg: $(VC_IncludePath) és $(WindowsSDK_IncludePath). Be van jelölve a "Szülőtől vagy projekt alapértelmezetttől való öröklődés" jelölőnégyzet.

A Tulajdonságszerkesztőben a Makrók gombra kattintva megtekintheti az elérhető makrókat és azok aktuális értékeit. Az alábbi ábra a További beillesztési könyvtárak tulajdonságszerkesztőjét mutatja, miután a Makrók gombot választották ki. Ha ki van jelölve a szülőtől vagy projekttől való alapértelmezett öröklés jelölőnégyzet, és új értéket ad hozzá, az hozzáfűződik a jelenleg örökölt értékekhez. Ha törli a jelölőnégyzet jelölését, az új érték felülírja az örökölt értékeket. A legtöbb esetben hagyja bejelölve a jelölőnégyzetet.

Képernyőkép a Tulajdonságszerkesztő párbeszédpanelről a Makrók gomb kiválasztása után.

Az Include könyvtárak tulajdonságszerkesztője megnyitva. A kiértékelt érték az örökölt értékekkel együtt jelenik meg. A listamezők különböző makrókat és azok értékeit tartalmazzák, például a Unicode-ra beállított $(CharacterSet).

Belefoglalási könyvtár hozzáadása az alapértelmezett könyvtárak készletéhez

Ha hozzáad egy tartalmazási könyvtárat egy projekthez, fontos, hogy ne írja felül az összes alapértelmezett könyvtárat. A könyvtár hozzáadásának helyes módja, ha hozzáfűzi például C:\MyNewIncludeDir\az új elérési utat, majd hozzáfűzi a makrót $(IncludePath) a tulajdonságértékhez.

Az összes ingatlan gyorsan átböngészhető és kereshető

A Minden beállítás tulajdonságlap (a Tulajdonságlapok párbeszédpanel >C/C++ csomópontja alatt) gyors módot kínál az aktuális környezetben elérhető tulajdonságok tallózására és keresésére. Speciális keresőmezővel és egyszerű szintaxissal segíti a találatok szűrését:

  • Nincs előtag: Csak a tulajdonságnevekben keressen (kis- és nagybetűket nem érzékelyítő részstring).

  • '/' vagy '-': Keresés csak fordítókapcsolókban (kis- és nagybetű érzékeny előtag).

  • v: Keresés csak értékekben (kis- és nagybetűt nem különböztet meg).

Környezeti változók beállítása buildekhez

Az MSVC fordító (cl.exe) felismer bizonyos környezeti változókat, különösen LIB, LIBPATH, PATHés INCLUDE. Az IDE használatával történő buildeléskor a VC++ könyvtárak tulajdonságlapján beállított tulajdonságokat használja a rendszer ezekre a környezeti változókra. Ha a LIB, LIBPATH és INCLUDE értékek már be vannak állítva, például egy Fejlesztői Parancssorral, azokat a megfelelő MSBuild tulajdonságok értékei váltják fel. A build ezután előküldi a VC++ Könyvtárak végrehajtható könyvtárak tulajdonság értékét a következőre PATH: . Felhasználó által definiált környezeti változót úgy állíthat be, hogy létrehoz egy felhasználó által definiált makrót, majd bejelöli azt a jelölőnégyzetet, amely szerint a makró környezeti változóként van beállítva a buildkörnyezetben.

Környezeti változók beállítása hibakeresési munkamenethez

A projekt Tulajdonságlapok párbeszédpaneljének bal oldali ablaktábláján bontsa ki a Konfiguráció tulajdonságai elemet , majd válassza a Hibakeresés lehetőséget.

A jobb oldali panelen módosítsa a Környezet vagy a Környezet egyesítése projekt beállításait, majd kattintson az OK gombra.

Cikkek ebben a szakaszban

Lásd még