Bevezetés a CEllenõrizze, savepearlharbor

CEllenõrizze - krocsplatformennaya segédprogram automatikusan lefordítani a programot forráskódból. Ugyanakkor ő CGyõzõdjön szerelvény közvetlenül nem vesz részt, és a front-end. Mivel a back-end`a tehetik különböző változatai gyártmánya és Ninja. Csak CVégezze lehetővé teszi, hogy projektek CodeBlocks, Eclipse, KDevelop3 MS VC ++ és Xcode. Érdemes megjegyezni, hogy a legtöbb projekt nem őshonos, de ugyanazzal a back-end`ami.

Annak érdekében, hogy építeni a projekt CVégezze szükséges eszközt, hogy a gyökér a fa CMakeLists.txt fájlt, amely tartalmazza a szabályokat, és épít célkitűzéseket, és hogy néhány egyszerű lépésben.
Mi meg fogja érteni a példákat.

1. példa Hello World:

Először is akkor csak helovorld:

és a fájl az összeállítás:

Hozzon létre egy üres mappát az ideiglenes fájlokat, és lépni.

$ Mkdir tmp
fshp @ Panica-desktop:

$ Cd tmp /
fshp @ Panica-desktop:

Most futtasd a következő parancsot CGyõzõdjön, átadva neki paraméterként a mappa elérési útját a forrás:

/ CEllenõrizze / Example_1 /
...
- Építsd fájlok írtak: / home / fshp / tmp
fshp @ Panica-desktop:

A / tmp $ ls
CMakeCache.txt CMakeFiles cmake_install.cmake Makefile
fshp @ Panica-desktop:

Látjuk, hogy volt néhány ideiglenes fájlok mappában szükséges építeni a projekt.
Most már közvetlenül futtatható Márka:

A / tmp $ make
Scanning függőségek cél fő
[100%] Építési CXX kifogás CMakeFiles / main.dir / main.cpp.o
Összekapcsolása CXX végrehajtható fő
[100%] Beépített célt fő
fshp @ Panica-desktop:

A / tmp $ ./main
Helló, világ!
fshp @ Panica-desktop:

Ezért a program gyűlt össze.
Tmp mappát lehet tisztítani \ törölni törni forrása annak a veszélye nélkül. Ha CMakeLists.txt megváltozott, hogy a hívást automatikusan elindítja CGyõzõdjön. Ha a források kerültek, meg kell tisztítani az ideiglenes könyvtárba, és futtassa CGyõzõdjön kézzel.

2. példa: Libraries:

A változók tárolására értéklisták szóközzel elválasztva \ fül \ elválasztás:

Mindkét lehetőség helyesek
Ahhoz, hogy a változó értéke ipolzuem design:

Tehát ez a változata a projekt magában foglalja a statikus könyvtár gyűjtött forrás. Ha kicseréli a «Static» a «KÖZÖS», megkapjuk a dinamikus könyvtár. Ha a könyvtár típus nincs megadva, akkor gyűjteni, mint egy statikus alapértelmezett.
Amikor összeköti megadja az összes szükséges könyvtárakat:

Mint jeleztük, anélkül «lib» szabvány előtag kézi válogatás könyvtár nevét.

3. példa alprojekt:

Alprojekt nagyon kényelmes, ha egy program van osztva több könyvtárak vagy a projekt keretében több program.
Minden alprojekt lényegében egy teljes értékű projekt önállóan is felhasználhatók.
Most «ize» van subdirrektorii és van CMakeLists.txt alprojekt.

Az alprojekt semmi új fájl ott. De leginkább az új csapat file:

main.cpp nem változtatunk, és foo.h mozgott. A parancs utasítja a fordító, hogy hol találja a header fájlokat. többször is okozott. Heather fogja keresni minden irányban, hogy az igazgató.

Adja meg a mappát al-projekt, amely épül, mint egy független.

4. példa: Search könyvtárak:

CEllenõrizze már kellően fejlett keresési jelenti telepített könyvtárak, bár ezek nem beágyazott, és végrehajtani, külön modulokat. A szabvány egy csomó egység, de egyes projektek (pl ogre) ellátása a saját.
A debian-inek található /usr/share/cmake-2.8/Modules/ (verziótól függően változhatnak.)

Úgy gondolom, hogy a szó tisztának kell lennie. Az első és a második egység - keresni a könyvtárban. Ha ez nem a rendszer hibaüzenetet küld, és befejezi a végrehajtás CGyõzõdjön. A harmadik blokk is hasonló, csak ő nem keres egy csomagot a könyvtárak, de csak egy szükséges eleme. Minden rendelkezésre álló automatizált keresési meghatározza elvégzése után legalább 3 változó:
SDL_FOUND, LIBXML2_FOUND, Boost_FOUND - aláírja bibilioteki jelenlétében;
SDL_LIBRARY, LIBXML2_LIBRARIES, Boost_LIBRARIES - nevét könyvtárak összekapcsolni;
SDL_INCLUDE_DIR, LIBXML2_INCLUDE_DIR, Boost_INCLUDE_DIRS - módja az fájlokat.
Ha az első többé-kevésbé világos, a második és harmadik hozott nekem egy csomó bajt - fele van neve egyes számban, félig - többes számban. De kiderült, hogy könnyen nyomon követni. Minden modul van egy első kommentek, ez írja le a megadott változókat. Nézd, például /usr/share/cmake-2.8/Modules/FindLibXml2.cmake

5. példa: külső statikus könyvtárak és fájlok tárgy:

Kívül a nem-szisztémás szállított bináris formában.
Object fájlok CGyõzõdjön van egy par a forrás - csak be obektnik fájlok listáját összeállítani.
Szorosabb könyvtárak. Mint ismeretes, egy statikus könyvtár nem, hogy más, mint Ar-archív, amelyen belül fekszenek a szokásos obektniki, nem kapcsolódnak egymáshoz. Valószínűleg kitalálta, ahogy én tettem az első. Igen, csak kibelezés könyvtárban. De aztán megtalálta a módját, hogy sokkal elegánsabb:

A szó «IMPORTÁLT» rámutat arra, hogy a könyvtár vesszük kívülről.
A CEllenõrizze minden cél olyan paraméterek, set_property lehetővé teszi számukra, hogy változtatni.
Linke ilyen standard könyvtár:

generátorok:

Mint említettük az elején, CGyõzõdjön generálhat sok különböző típusú projektek.
Ha fut CGyõzõdjön nélkül álló lehetőségeket generátorok ismertetjük a végén. Használja ezt:

/ CEllenõrizze / Example_3 / G «KDevelop3 - Unix Makefile állományok»

következtetés:

Amit én személy szerint szeretem CGyõzõdjön:

  • Egy projekt - egy fájlban. Nem szükséges, hogy tárolja egy csomó beállítási szkriptek, építeni és egyéb dolgokat;
  • A sebesség képest autotools;
  • tiszta és egyszerű forma;
  • front-end`om beállított IDE;
  • kijelző a haladás - nagyon kényelmes;
  • színes következtetés - a szürke kis festék nem árt;

Sublime szöveg egy bővítmény, amely hozzáteszi, a háttérvilágítás CGyõzõdjön szintaxis, ez az úgynevezett - «CGyõzõdjön».
példák

Kapcsolódó cikkek