Kirjoittaja: Metabolix (2010).
C++-ympäristön löytäminen Internetistä tai asentaminen Windowsiin voi joskus olla aloittelijalle vaikea tehtävä, varsinkin, jos on tarkoitus vain nopeasti kokeilla kieltä. Sitä varten Ohjelmointiputkassa on valmis paketti, joka sisältää C-kääntäjän ja C++-kääntäjän (GCC), eräitä yleisesti kaivattuja kirjastoja (toistaiseksi SDL eräine lisäosineen) sekä yksinkertaiset komentojono- eli BAT-tiedostot, joilla koodin kääntämisen pitäisi onnistua vaivatta.
Lataa paketti, pura se haluamaasi paikkaan ja noudata sitten käyttöohjeita. Testauksessa voit käyttää tätä esimerkkiohjelmaa.
Seuraavassa taulukossa ovat paketin osat lisätietoineen. Lisensseistä GNU LGPL tulee paketin mukana tiedostossa "kirjastot/gnu-lgpl.txt" ja löytyy myös Internetistä. Eräisiin muihin on linkkejä alla.
osa | versio | lisenssi | kotisivu |
---|---|---|---|
TDM-GCC | 4.5.1 | http://tdm-gcc.tdragon.net/ | |
MinGW | (yllä) | muu | http://www.mingw.org/ |
bsdtar | 2.4.12 | BSD | http://gnuwin32.sourceforge.net/packages/libarchive.htm |
libarchive | 2.4.12 | BSD | http://code.google.com/p/libarchive/ |
FreeType | 2.x | muu | http://www.freetype.org/ |
libpng | 1.4.4 | muu | http://www.libpng.org/pub/png/libpng.html |
zlib | 1.2.3 | muu | http://zlib.net/ |
SDL | 1.2.14 | GNU LGPL | http://www.libsdl.org/ |
SDL_gfx | 2.0.22 | GNU LGPL | http://www.ferzkopp.net/joomla/content/view/19/14/ |
SDL_image | 1.2.10 | GNU LGPL | http://www.libsdl.org/projects/SDL_image/ |
SDL_ttf | 2.0.10 | GNU LGPL | http://www.libsdl.org/projects/SDL_ttf/ |
SDL_net | 1.2.7 | GNU LGPL | http://www.libsdl.org/projects/SDL_net/ |
SDL_mixer | 1.2.11 | GNU LGPL | http://www.libsdl.org/projects/SDL_mixer/ |
SMPEG | GNU LGPL | http://icculus.org/smpeg/ |
Aja tiedosto "asenna.bat". Se luo joukon uusia bat-tiedostoja.
Koodaa oma ohjelma ja tallenna sen koodi johonkin hakemistoon. Ohjelma voi koostua useastakin kooditiedostosta. Samassa hakemistossa ei saa olla muita kuin ohjelmaan kuuluvia koodeja! Koodien tiedostonimien on loputtava ".cpp", jos ohjelman kieli on C++, ja ".c", jos kieli on C. Tiedostonimi voi olla siis esimerkiksi "omaohjelma.cpp".
Kopioi koodisi kanssa samaan hakemistoon oikea bat-tiedosto sen mukaan, onko kieli C vai C++ ja tarvitaanko tuki SDL:lle.
C | C++ | |
---|---|---|
perus | kaanna-c.bat | kaanna-cpp.bat |
SDL | kaanna-c-sdl.bat | kaanna-cpp-sdl.bat |
Aja kyseinen bat-tiedosto vaikka tuplaklikkaamalla. Aukeaa ikkuna, johon tulevat mahdolliset virheilmoitukset tai teksti OK. Jos kaikki sujuu hyvin, ikkuna sulkeutuu itsekseen ja hakemistossa on uusi tiedosto "ohjelma.exe".
SDL-ohjelmat tarvitsevat joitakin DLL-tiedostoja, jotka ovat hakemistossa "dll-tiedostot". Oikeat DLL-tiedostot on kopioitava samaan paikkaan kuin ohjelma.exe. Useimmissa tapauksissa tiedoston nimi on sama kuin kirjaston nimi. Muutama poikkeus:
Edistyneempi ohjelmoija voi muokata bat-tiedostoa mieleisekseen tavallisella tekstieditorilla. Tiedoston alussa asetetaan joitakin muuttujia kuten lista tiedostoista, kirjastoista ja muista asetuksista.
Aja asenna.bat tuplaklikkaamalla:
Sen pitäisi luoda uusia tiedostoja:
Tee oma koodi:
Kopioi oikea bat-tiedosto koodin luo:
Aja juuri kopioimasi bat-tiedosto tuplaklikkaamalla:
Aja ohjelma.exe, joka juuri syntyi!
Tässä paketissa käytetty BAT-viritelmä ei ole kovin käytännöllinen jatkuvassa käytössä tai suurten projektien kääntämisessä. Jokaisen, joka aikoo oikeasti ohjelmoida C++:lla, kannattaa hankkia kunnollinen C++-kehitysympäristö – jos tämä ei millään onnistu, on vaikea uskoa, että myöskään C++-ohjelmointi sujuisi kovin hyvin.
Panda Free Antivirus sanoo joitain noita kääntäjäpaketin osia viruksiks?????!!!??? Siis to BAT-Viritelmän.
Voi voi, ilmeisesti Panda Free Antivirus on väärässä. Kaikki paketin ohjelmat ovat avointa lähdekoodia, ja BAT-tiedostot voit vaikka itse lukea tekstieditorilla.
Mitä! Onko kääntäjäpaketti virus?
Lisäys: Onneksi ei.
Huomio! Kommentoi tässä ainoastaan tämän oppaan hyviä ja huonoja puolia. Älä kirjoita muita kysymyksiä tähän. Jos koodisi ei toimi tai tarvitset muuten vain apua ohjelmoinnissa, lähetä viesti keskusteluun.