milloin käyttää CMake clean/configure? edit
CMake kätkee useita tietoja tiedostoon CMakeCache.txt
. Tällaisia ovat esimerkiksi hakemistot, joista on löytynyt tietynlainen paketti ja määritelmät on välitetty käyttämällä -D
.
muutama esimerkki, Kun haluat käyttää --cmake-clean-cache
:
- aiemmin löytynyttä pakettia tulee etsiä uudelleen, koska haluat sen löytyvän/käytettävän eri paikasta
- olet läpäissyt määritelmän, jota ennen et halua olla enää asetettuna eteenpäin
CMake suorittaa configure-vaiheen automaattisesti, kun jokin mukana oleva CMake-tiedosto on muuttunut. Mutta joskus logiikka riippuu ylimääräisiä / ulkoinen tila / tiedostot ja tarvitset CMake ajaa configure vaihe uudelleen. (On olemassa tapoja kertoa Cmakelle, että tietyn Ei-CMake-tiedoston muuttaminen käynnistäisi uudelleenkonfiguroinnin.) Joten jos tarvitset configure-vaiheen suoritettavaksi uudelleen, mutta CMake ei tee sitä automaattisesti, voit joko koskettaa ja sisällyttää CMake-tiedoston tai vain siirtää --cmake-force-configure
.
jos haluat vedota make clean
, tarkista uudelleen, onko koodissa kääntäjän varoituksia. Kun lähdetiedosto on käännetty, sitä ei yleensä käännetä, ennen kuin se (tai mukana olevat otsikot)) muuttuu. Ensimmäisessä käännöksessä saatat nähdä kääntäjän varoituksen, mutta peräkkäisissä käännöksissä (olettaen, että tiedostot eivät ole muuttuneet) et näkisi kääntäjän varoitusta uudelleen. --cmake-clean-first
ohittaminen on hyvä tapa varmistaa, että kaikki tiedostot käännetään uusiksi.
joskus rakentamishakemisto sisältää aiemmista rakentamisista lisätilan, joka saattaa vaikuttaa seuraaviin rakentamishakemistoihin (esim.paketin aikaisempi versio loi joitain tiedostoja rakentamishakemistoon). Ne eivät olisi puhdistettu ja voisi vaikuttaa seuraavat rakentaa senkin jälkeen logiikka luoda niitä on poistettu. Tällöin siis koko build
– hakemiston poistaminen auttaisi.
toinen tapaus suosittelisin build
– hakemiston poistamista on, kun törmäät ongelmaan, jota et ymmärrä. Se on myös toistaa ongelma käyttämällä tuoretta rakentaa ennen kuin ilmoittaa sen lippu. Aloittaminen tuore rakentaa voisi ratkaista mitä hankala tila on rakennettu ajan / perustuu siihen, mitä tehtiin aiemmin.
jos sinulla on ccache
setup täydellinen uudelleenrakentaminen ei ole niin kallista, koska suuri osa rakennetuista esineistä on tallennettu välimuistiin aiemmin, joten se ei yleensä vie täyttä aikaa uuden rakentamiseen.