Ero sivun ”CMake syvemmin” versioiden välillä
Siirry navigaatioon
Siirry hakuun
→Ensimmäinen C/C++ ohjelma
Rivi 73: | Rivi 73: | ||
== Ensimmäinen C/C++ ohjelma == | == Ensimmäinen C/C++ ohjelma == | ||
Seuraavaksi voimmekin tehdä ensimmäisen käännettävän C/C++-ohjelman. Se kirjoitetaan oikeaoppisesti src-alikansioon, joten teemme sille projektikansiomme juureen uuden kansion. | |||
Päätteellä voisi kirjoittaa seuraavaa: | |||
<syntaxhighlight lang=bash line> | |||
cd .. | |||
mkdir src | |||
touch src/hello.cpp | |||
</syntaxhighlight> | |||
Ensimmäisessä rivissä siirrymme build-kansiosta projektin juurikansioon. Luomme sen alle src-kansion, jossa on hyvä pitää projektimme C/C++-lähdetiedostoja. | |||
Kirjoita äsken src-hakemistoon luotuun hello.cpp-ohjelmaan seuraavan (Esimerkin) sisältö, ja tallenna se. | |||
<syntaxhighlight lang="C++" line> | |||
#include <iostream> | |||
int main(int args,char **argv) { | |||
std::cout << "ohjelman ajotiedoston nimi hakemistopolkuineen on " << argv[0] << "\n"; | |||
return 0; | |||
} | |||
</syntaxhighlight> | |||
Ohjelman voi kääntää käskyllä build-kansiostamme: | |||
<syntaxhighlight lang=bash> | |||
cd build | |||
g++ ../src/hello.cpp -o hello | |||
</syntaxhighlight> | |||
Ohjelman ajaminen tapahtuu seuraavasti: | |||
<syntaxhighlight lang=bash line> | |||
./hello | |||
</syntaxhighlight> | |||
Seuraavaksi menemme takaisin build-kansioon, ja poistamme cmake:n tekemät tiedostot rm -r -käskyllä (varovasti rm -r käskyn kanssa, sillä se voi tuhota pahimmassa tapauksessa koko käyttäjän kotikansion, ja root-käyttäjänä se voi tuhota koko järjestelmän.). | |||
<syntaxhighlight lang=bash line> | |||
d .. | |||
rm -r build | |||
mkdir build | |||
cd build | |||
cmake .. | |||
make all | |||
</syntaxhighlight> | |||
Huomaa, että edelleenkin ohjelmat (cmake ja make) suoriutuvat toimistaan ilman virheilmoituksia, mutta edelleenkään tuotoksena ei tule käänettyä ohjelmaa. | |||
Ajamisen jälkeen huomaamme, ettei cmake-käännä ohjelmaa, vaan se toimii edelleen samalla tavalla kuin aiemminkin eli tulostaa eka-projekti:n tiedot. | |||
Jotta saadaksemme cmake:n kääntämään ohjelman pitää meidän tehdä pieniä muutoksia. Lisäämme seuraavanlaisen rivin aikaisemmin luomamme CMakeLists.txt-tiedoston loppuun: | |||
<syntaxhighlight lang=bash line StartLine=30> | |||
add_executable("hello" "src/hello.cpp") | |||
</syntaxhighlight> | |||
==Käyttö== | ==Käyttö== |