[[oktatas:programozás:programok:codeblocks|< CodeBlocks]] ====== A CodeBlocks beüzemelése ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2011, 2016, 2020 * Licenc: GNU Free Documentation License 1.3 * Web: http://szit.hu ===== Bevezetés ===== Ez a leírás a CodeBlocks beüzemeléséről szól, wxWidgets programozói könyvtár és wxSmith vizuális fejlesztő kiterjesztésével. A wxSmith a CodeBlocks egy kiterjesztése, amihez szükség van a wxWidgets, C++ programozói könyvtárra. Megnézzük, hogyan kell telepíteni a CodeBlocks mellé a wxWdigets programozói könyvtárat, Windowson és Debian GNU/Linuxon. ===== Beszerzés ===== ==== Windows ==== === CodeBlocks fejlesztői környezet === Látogassuk meg a weboldalt: * http://www.codeblocks.org Válasszuk "Downloads" menüpontot: Weblapon ehhez hasonlót kell lássunk: Download the binary release Kattintás után, következő binárisok tölthető le: codeblocks-20.03-setup.exe codeblocks-20.03-setup-nonadmin.exe codeblocks-20.03-nosetup.zip codeblocks-20.03mingw-setup.exe codeblocks-20.03mingw-nosetup.zip codeblocks-20.03-32bit-setup.exe codeblocks-20.03-32bit-setup-nonadmin.exe codeblocks-20.03-32bit-nosetup.zip codeblocks-20.03mingw-32bit-setup.exe codeblocks-20.03mingw-32bit-nosetup.zip Válasszuk a codeblocks-20.03mingw-setup.exe csomagot. Az első csomagot csak akkor válasszuk ha telepítve van MinGW és tudjuk mit csinálunk. === wxWidgets C++ könyvtárak === Két lehetőségünk van. Vagy forrásból tesszük fel, vagy már előre lefordított binárisból. Az utóbbi kényelmesebb lehet. Ha bináris mellett döntünk csak le kell szednünk a wxPack csomagot és telepítenünk. A wxPack esetén válasszuk a "Latest Version (wxWidgets v2.8.12)" verziót. * https://github.com/rjpcomputing/wxpack/wiki (bináris) * https://www.wxwidgets.org (forrás és bináris) Ha forrásból szeretnénk feltelepíteni több formátum is rendelkezésre áll. Windowsos rendszer esetén nekünk a wxMSW formátumra van szükségünk ezt töltsük le. ===== Telepítés ===== ==== Windows ==== === CodeBlocks telepítése === Telepítjük a codeblocks-10.05mingw-setup.exe csomagot szokásos kattintgatással. Alapesetben a CodeBlocks a következő helyre települ: c:\Program Files\CodeBlocks === wxWidgets telepítése === Ha a wxPack bináris csomagot választottuk, akkor csak kattintgatással telepítenünk kell. Ha forrást választottuk, telepítjük a wxMSW-2.8.9-Setup.exe csomagot a kattintgatással. Alapesetben a wxWidgets a c:\wxWidgets-2.8.9 könyvtárba telepszik. Ez csak forrás, most le kell fordítani. Ehhez szükségünk lesz a CodeBlocksal együtt települt MinGW-re. Telepítés követően ez a könyvtár nincs útvonalban (PATH), útvonalba kell tennünk (hogy a mingw32-make parancsot bárhonnan futtathassuk). A könyvtár amit útvonalba kell tennünk itt található: C:\Program Files\CodeBlocks\MinGW\bin Ennek módja: Vezérlőpult -> Rendszer -> Speciális -> Környezeti változók -> Rendszerváltozók -> PATH A wxWidgets fordítása: "Start" menü -> "Futtatás" -> "cmd" cd \ cd wxWidgets-2.8.9\build\msw mingw32-make -f makefile.gcc BUILD=debug UNICODE=1 SHARED=1 MONOLITHIC=1 clean mingw32-make -f makefile.gcc BUILD=debug UNICODE=1 SHARED=1 MONOLITHIC=1 mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1 A két utolsó lépés 40 percig is eltarthat. ==== Debian GNU/Linux 10 ==== === CodeBlocks fejlesztői környezet === Telepítés: apt install codeblocks === wxWidgets C++ könyvtárak === apt-get install libwxbase3.0-0 libwxbase3.0-0-dbg libwxbase3.0-dev apt-get install libwxgtk3.0-0 libwxgtk3.0-0-dbg libwxgtk3.0-dev apt-get install wx3.0-headers wx3.0-i18n wx-common A wxSmith plugin a codeblocks-contrib csomagban található, amely nem telepszik automatikusan: apt-get install codeblocks-contrib ===== Használat ===== ==== Használat Windows, Linux rendszeren ==== Először be kell állítanunk a CodeBlocksban, hol találjuk a wxWidgets könyvtárakat. Be lehetne állítani projektben is, de akkor ha átvisszük egy másik gépre a forrást (a projektet), ott nem biztos, hogy lefordul, ha más a wxWidgets útvonala. Ezért a CodeBlockban globális változóban állítom be a wxWidgets elérési útját. * Settings -> Global varibales ... -> * Current Variable: wx * Builtin fileds base: c:\wxWidgets-2.8.9 A Current Variable értékét állítsuk be wx-re. Ha még nem lenne wx változó, akkor hozzuk létre a "New" nyomógombbal. (Tapasztalat: Ha a c:\wxWidgets-2.8.10\ könyvtárban fordítottam le a a wxWidgetset, akkor más könyvtárba másolva nem működik. A wxWidgets alapú program fordításakor hibaüzenetet kapunk.) Most már készíthetünk projektet. ==== wxWidgets projekt készítése ==== * File -> New -> Projekt Kiválasztom: wxWidgets Project * Go A projekt varászló ugrik elénk. - Az első képernyőn csak tájékoztató, kattintsunk a "Next" gombra. - Válasszuk ki a wxWidgets 3.0.x verziót, ha nem az lenne kijelölve. "Next" gomb. - Adjuk meg mi lesz a projekt neve, hol tároljuk azt. * Elég ha a projekt nevét és helyét megadjuk (felső két mező) * "Next" gomb - Tulajdonos adatai ha szükséges. "Next" gomb. - Kiválasztjuk a wxSmith vizuális fejlesztő eszközt és megadjuk, hogy Frame alapú programot akarunk: * Preferred GUI Builder: wxSmith * Application Type: Frame Based * "Next" gomb; - Ha beállítottuk a wxwidgets könyvtár helyét globális változóban, akkor itt megmaradhat a $(#wx). "Next" gomb. - Compiler alapértelmezetten "GNU GCC compiler" és hagyjuk így, hacsak nem tudjuk mit csinálunk. * Legyen bepipálva a 'Create "Debug" configuration' és a 'Create "Release" configuration'. - wxWidgets library settings: * Use wxWidgets DLL - bejelölve * wxWidgets is built as a monolithic library - bejelölve * enable Unicode - bejelölve * Minden más hagyjunk nem bejelölve. "Next" gomb. Ha mindent jól csináltuk a vizuális fejlesztői felület ugrik elénk. Megjegyzés: Ha projektbe mentjük el az wxWidgets útvonalát, más rendszeren esetleg nem fog lefordulni a projekt! A wxwidgets használatához segítség: [[oktatas:programozás:wxwidgets]] ==== Ékezetes használat ==== Windows XP rendszeren, a CodeBlocks és a wxWidgets rendszer együtt használva gondot okoz ha magyar ékezetes karaktereket használunk például a komponensek felirataiban. A hibaüzenet így néz ki: .. |converting to execution character set: Illegal byte sequence| Ezt egy egyszerű beállítással kivédhetjük: Settings -> Compiler and debugger ... -> Other options: -finput-charset=iso-8859-2 Persze az igazi megoldás az, ha eleve angol nyelvűre írjuk meg a programot, használjuk a gettext rendszert, majd lefordítjuk magyarra. Az így elkészült program eleve alapból két nyelvű lesz, és fordítható bármely más nyelvre. ==== Szögletes bezáró zárójel ==== Magyar kiosztású billentyűzeten a szögletes bezáró zárójel nem üthető le telepítés után. Egy mozdulattal törölhetjük a beállítást: Settings -> Editor ... -> Keyboard shortcuts -> Commands: -> Search -> Goto function... A "Remove" gombra kattintva töröljük a billentyűkombinációt. ===== CodeBlocks pluginek ===== A CodeBlocks pluginjairól találunk információt itt: * http://wiki.codeblocks.org/index.php?title=Code::Blocks_Plugins Készülőben van egy Dev-Pack plugin is. ===== Megjegyzés ===== Teljesítménybeli gondok miatt nem sikerült monolitikus wxWidgets-et fordítani. Így a MONOLITHIC=0 beállítással fordítottam. wxWidgets-2.8.12. Ekkor a CodeBlocks felkínálja mely részeit szeretném használni a wxWidgetsnek. Négyet ezekből nem tudok kiválasztani, azok nem használhatók. Ezek a következők: * wxDbGrid * wxOdbc * wxGl * wxQa ===== Kapcsolódó linkek ===== * http://en.wikipedia.org/wiki/Codeblocks * http://hu.wikipedia.org/wiki/Code::Blocks * http://wxpack.sourceforge.net