offline
- Srki_82
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
- 12Ovo se svidja korisnicima: TwinHeadedEagle, NIx Car, ThePhilosopher, Springfield, mcrule, ivance95, A.L., Aleksandr1996, Ričard, vasa.93, morando, E.L.I.T.E.
Registruj se da bi pohvalio/la poruku!
Sadržaj
Uvod
Jednostavan program
CMake
Zaključak
Uvod
Većina vas je u školi i po forumima naučila osnove C/C++ jezika, i zna da napravi jednostavne male programčiće. Problem nastaje pri pokušaju da se napravi neki malo komplikovaniji program koji umesto konzole, svoj sadržaj prikazuje u prozoru, koji umesto datoteke, svoje podatke snima u bazu, itd. Pokušaću da vam i taj deo programiranja što više približim u narednom periodu.
Jednostavan program
Počećemo jednim malim programčićem koji ste verovatno već svi pravili. Napravićmo digitron koji zna da sabere ili oduzme dva broja. U svom omiljenom programu za pisanje C/C++ koda, napravite nov konzolni projekat i prekopirajte sledeći kod:
#include <stdio.h>
int main()
{
int op = 0;
int p1 = 0, p2 = 0;
printf("Digitron\n\n");
printf("Izaberite operaciju\n");
printf(" 1. Sabiranje\n");
printf(" 2. Oduzimanje\n");
printf(": ");
scanf("%d", &op);
if (op != 1 && op != 2)
{
printf("Ta operacija ne postoji!\n");
return 1;
}
printf("Unesite prvi parametar: ");
scanf("%d", &p1);
printf("Unesite drugi parametar: ");
scanf("%d", &p2);
switch(op)
{
case 1:
printf("Rezultat je: %d\n", p1 + p2);
break;
case 2:
printf("Rezultat je: %d\n", p1 - p2);
break;
default:
break;
}
return 0;
}
Kao što vidite, nismo koristili ništa novo i nepoznato, samo standardne funkcije za čitanje/pisanje teksta i par grananja. Ako neko već sada ima problema sa razumevanjem koda, neka se još malo vrati osnovama.
CMake
Nažalost, verovatno neće baš svi znati da naprave nov projekat i podese sve što je potrebno da bi kompajler i linker uspeli da naprave konačnu izvršnu datoteku. Uz to, verovatno će neko želeti da proba kod na različitim operativnim sistemima u kojima sistemske biblioteke nisu na istim mestima. Da bi izbegli probleme prilikom kreiranja novih projekata, koristićemo program CMake.
CMake je višeplatformski program koji nam omogućava relativno lako pravljenje izvršnih datoteka. Njegov cilj je da na osnovu par informacija napravi projekat koji će kompajleri instalirani na vašem sistemu moći da obrade. Trenutno CMake podržava sledeće alate:
Mac OS X
Unix Makefiles
Xcode
CodeBlocks
Eclipse CDT4
KDevelop3
Linux
Ninja
Unix Makefiles
CodeBlocks
Eclipse CDT4
KDevelop3
Windows
Borland C++
MSYS Makefiles
MinGW Makefiles
NMake Makefiles
Unix Makefiles
Visual Studio 6
Visual Studio 2003
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio 2011
Watcom WMake
CodeBlocks
Eclipse CDT4
Instalacija CMake programa je jednostavna. Na Linux operativnim sistemima možete iskoristiti svoj omiljeni program za instalaciju pakete i instalirajte cmake. Za Windows i Mac OS X možete naći instalacione datoteke na sledećoj adresi: http://www.cmake.org/cmake/resources/software.html
CMake koristi datoteku CMakeLists.txt za kreiranje projekata. Preko te datoteke možemo kontrolisati šta želimo da bude uključeno u program, koje biblioteke želimo da koristimo, kako želimo da optimizujemo program, i još mnogo toga. Počećemo vrlo jednostavno, napisaćemo CMakeLists.txt datoteku koja će napraviti projekat za naš mali digitron. Pošto je program veoma jednostavan, jedino što moramo da definišemo je ime projekta i u kojoj datoteci se nalazi kod:
cmake_minimum_required (VERSION 2.6)
project (calc)
add_executable(calc calc.cpp)
Prvi red je tamo samo da bi onemogućili kreiranje projekta uz upotrebu stare verzije CMake programa. Tim redom zahtevamo najmanje verziju 2.6. Taj red nije obavezan.
U drugom redu definišemo ime projekta. Ime ne mora biti isto kao i ime datoteke u kojoj se nalazi kod. To imeće se koristiti za kreiranje dodatnih datoteka za projekat ako ih neki alat zahteva (recimo Visual Studio, Xcode ili Eclipse).
Treći red definiše ime izvršne datoteke koja će biti kreirana posle kompajliranja programa, i ime datoteke u kojoj se nalazi kod.
Najjednostavnije kreiranje projekta je da otvorite direktorijum u kojem se nalazi CMakeLists.txt datoteka i da pokrenete sledeću komandu:
cmake -G "Ime vašeg kompajlera"
Listu mogućih kompajlera možete dobiti ako ukicate samo:
cmake
Primera radi, sledeća komanda će kreirati projekat za Visual Studio 2010:
cmake -G "Visual Studio 10"
Sledeća komanda će kreirati Makefile za Linux ili MacOS X:
cmake -G "Unix Makefiles"
Sledeća komanda će kreirati projekat za CodeBlocks i MinGW kompajler:
cmake -G "CodeBlocks - MinGW Makefiles"
Kada je projekat kreiran možete ga otvoriti u vašem kompajleru i pokrenuti ga.
Zaključak
U ovom delu smo naučili kako da uz pomoć CMake programa pravimo projekte za različite kompajlere pod različitim operativnim sistemima. Za svaki sledeći program ćemo spremiti CMakeLists.txt datoteku da bi većina bez problema mogla da proba kod čak i u drugim okruženjima u kojima još uvek nemaju iskustva... ovo se odnosi na sve one koji još uvek koriste Dev-C++ Do sledećeg dela očekujem da bar neko proba CMake i da uspešno iskompajlira digitron.
U sledećem delu ćemo se okrenuti novijem načinu za čitanje i pisanje teksta, i odvajanjem logike programa od dela za prikaz.
|