wxwidgets, Programmering i C++ (EDAF30)

Relevanta dokument
Datorlaboration 0, Programmering i C++ (EDAF30)

Datorlaboration 0, Programmering i C++ (EDA623)

Programmering i C++ Kompilering från kommandoraden

Föreläsning 3. Programmering, C och programmeringsmiljö

INSTALLATION OCH KONFIGURATION AV PROGRAM PICBASIC PRO - MICRO CODE STUDIO PLUS - EPIC PLUS

Föreläsning 3. Programmering, C och programmeringsmiljö

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

Objektorienterad Programmering (TDDC77)

Introduktion till programmering, hösten 2011

Inlämningsuppgifter, EDAF30, 2015

Spelprogrammering med XNA och MonoGame

Instruktion för användande av Citrix MetaFrame

Verktyg och Utvecklingsmiljö. Jochim von Hacht

Objektorienterad programmering i Java I

Laboration 10 - Eclipse

Hur du installerar Open Broadcaster Software (OBS) fo r HD-sa ndning

Installation av atmel Studio på mac / linux

kommando -fl argument

Manual - Phonera Online Backup

Varför behövs det? I Allegro finns t.ex. stöd för:

UPPDATERA DIN UNICO-ORGELS OPERATIVSYSTEM!

OBS! FÖRSÖK INTE INSTALLERA PROGRAMVARAN INNAN DU HAR LÄST DET HÄR DOKUMENTET.

Installationsbeskrivning för CAB Service Platform med CABInstall

Instruktioner för att kunna programmera på skolans datorer

Eclipse. Kort genomgång

Operativsystem och användargränssnitt

Årsskiftesrutiner i HogiaLön Plus SQL

Installationsanvisning för Su Officemallar 2011 För Mac Word och PowerPoint

Föreläsning 2. Operativsystem och programmering

Installation av Alfamax datorprogram och licensfiler

Inledande programmering med C# (1DV402) Introduktion till C#

NYTT LIV I EN UTTJÄNT DATOR

IT-körkort för språklärare. Modul 3: Ljud, del 1

INSTALLATION AV VITEC MÄKLARSYSTEM

Spara filer eller mappar från ett kursrums filhanterare i Blackboard 9.1

Integration med Vitec Express

Versionshantering med Git

LAJKA-GUIDE. Så kör du. Windows på din Mac. 7 Fler spel och program 7 Enklare än Bootcamp 7 Körs direkt i OSX 7 Helt gratis

Installationsanvisning för kursens programvara på egen dator

Programming in C# and.net Framework

Aktivering av xfill Trimble CFX-750 RTK

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

DDR PC SOFTWARE 2 RELEASENOTES VERSION 2.5. Swerob Service AB Global Robot Parts AB

Installera Windows Custom PostScript- eller PCL-skrivardrivrutin

Unix-miljöer i större sammanhang

EQ Plan - Installation

Insamlingsverktyg - teknisk beskrivning av metadataformuläret

Övningar för del I av kursen

Lab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips

Beställning av Förlitandepart-certifikat Version

Introduktion till Adobe Acrobat Connect Pro

INSTALLATION AV VITEC MÄKLARSYSTEM. Studentversion

Din guide till. Klientinstallation MS Driftservice

Installationsanvisning för LUQSUS-K version 3.0b

Detta dokument skall ge en kortfattad introduktion till Jasmine installationen vid DSV.

Instruktion för användande av Citrix MetaFrame

Messenger. Novell 1.0 HITTA DOKUMENTATIONEN ÖVER NOVELL MESSENGER. SNABBSTART

Installationsguide ELCAD 7.10

INSTALLATION AV KLIENT

Installation av Topocad

Överflyttning av värld

Installationsguide för FAR Komplett Offline 2.1.2

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Installation av. Vitec Mäklarsystem

Installationsanvisningar HogiaLön Plus

ecampus min väg till KNX

LOTTA MANUAL. t.o.m. version Cederlund

Handledning för installation och komma igång med Joomla

Antivirus Pro Snabbguide

Vid problem med programmet kontakta alltid C/W Cadware AB på telefon

Avslutning. Kapitel Komprimering av filer

Installationsanvisningar HogiaLön Plus

emopluppen Installationsmanual

INSTALLATION AV KLIENT

Installationsanvisning för Su Officemallar 2013 För PC

Så här skriver du ditt första program i C++

Lab 1: Första labben (2p) Inledning:

Administratörsrättigheter i Windows krävs för att genomföra installationen.

Installationsanvisning för Su Officemallar 2011 För Mac Word och PowerPoint

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Laboration 2 Datorverktyg vid LiU

UNIX. Laborations-PM Anders Egneus, Henrik Lindgren, 2004, Raphael Corsoski, Erik Eliasson, Christian von Schultz, 2008.

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

Installationsmanual OpenOffice 3.0

Instruktion för användande av Citrix MetaFrame

Linux som utvecklingsmiljö

Snabbinstallationsguide för anslutningskabel CA-42

FLEX Personalsystem. Uppdateringsanvisning

INSTALLATIONSHANDBOK

LVDB i GEOSECMA. Innehåll. Inledning. Produkt: GEOSECMA Modul: LVDB Skapad för Version: Uppdaterad:

Flytt av. Vitec Mäklarsystem

Så här startar du P-touch Editor

Instruktion för användande av Citrix MetaFrame

Eclipse en handledning

Installation av. Vitec Mäklarsystem Office

Handbok KAppTemplate. Anne-Marie Mahfouf Översättare: Stefan Asserhäll

Installation av Topocad

Transkript:

LUNDS TEKNISKA HÖGSKOLA Programmering i C++ Institutionen för datavetenskap HT 2014 wxwidgets, Programmering i C++ (EDAF30) Några av laborationsuppgifterna under kursen kommer att använda sig av det grafiska användargränssnittet wxwidgets. Anvisningar för installation och användning finns här dels för datorerna i skolans datorsalar och dels för egna datorer. Material för nedladdning finns på sidan Laborationer under kursens hemsida ("http://cs.lth.se/edaf30") Om du hittar någonting i uppgifterna eller andra anvisningar som är felaktigt eller oklart så meddela gärna detta till kursansvarig lärare. Innehåll 1 Installation av wxwidgets................................. 2 2 Programmering med wxwidgets............................. 5 1

2 Installation av wxwidgets Installation av wxwidgets Det finns ett antal olika utvecklingsmiljöer för C++. I denna introduktion tas dels upp de två som finns installerade på skolans elevdatorer, CodeBlocks och Visual C++ Express 2010, och dels de vanligast använda på egna datorer. Olika utvecklingsmiljöer har olika format på projektfiler och eftersom de använder olika kompilatorer så kräver de olika versioner av wxwidgets biblioteksfiler. Om man använder sig av olika utvecklingmiljöer är det därför viktigt att man håller de olika installationerna av wxwidgets åtskilda från varandra. Skolans datorsalar På datorerna i skolans datorsalar finns installerat två olika utvecklingsmiljöer för C++, Code- Blocks och Visual C++ Express 2010. CodeBlocks Filer för att använda wxwidgets med CodeBlocks på datorena i datorsalarna finns att ladda ner här ("http://fileadmin.cs.lth.se/cs/education/edaf30/labbar/wxwidgets-3.0.2-cb.zip"). Skapa en rotkatalog under Dokument för dina C++-projekt under CodeBlocks och packa upp zip-filen där. Du skall nu ha två kataloger samples-cb och wxwidgets-3.0.2-cb bredvid varandra. Katalogen wxwidgets-3.0.2-cb innehåller biblioteksfiler för wxwidgets och katalogen samples-cb innehåller ett workspace med några exempelprojekt för wxwidgets. Projektfilerna i för dessa är inställda att använda biblioteksfiler under wxwidgets-3.0.2-cb. Visual C++ 2010 Express Filer för att använda wxwidgets med Visual C++ 2010 Express på datorena i datorsalarna finns att ladda ner här ("http://fileadmin.cs.lth.se/cs/education/edaf30/labbar/wxwidgets-3. 0.2-vc.zip"). Skapa en rotkatalog under Dokument för dina C++-projekt under Visual C++ 2010 och packa upp zip-filen där. Du skall nu ha två kataloger samples-vc och wxwidgets-3.0.2-vc bredvid varandra. Katalogen wxwidgets-3.0.2-vc innehåller biblioteksfiler för wxwidgets och katalogen samples-vc innehåller en solution med några exempelprojekt för wxwidgets. Projektfilerna i för dessa är inställda att använda biblioteksfiler under wxwidgets-3.0.2-vc. Laborationer Några av laborationsuppgifterna kommer att använda sig av wxwidgets. Filer för dessa finns att ladda ner via kursens hemsida för CodeBlocks och Visual C++ 2010 Express för användning på datorena i datorsalarna. OBS. Det är viktigt att projekt som använder sig av wxwidgets hamnar på rätt nivå i katalogträdet. De kodskelett som finns att ladda ner för dessa laborationsuppgifter (med namn som labbn-xx.zip) skall packas upp så att rotkatalogen labbn-xx hamnar bredvid katalogerna samples-xx och wxwidgets-3.0.2-xx (n är labbnr och xx är t.ex. cb eller vc). Projekt som använder sig av wxwidgets skall alltså vara kusiner till projekten i samples-xx. Egen dator För användning på egen dator behövs wxwidgets biblioteksfiler som är av rätt version och är byggda för rätt operativsystem och kompilator. Färdigbyggda versioner för de vanligaste kombinationerna finns att hämta via kursens hemsida, t.ex. Visual Studio 2013 (vc12) för Windows och Xcode för Mac Cocoa. Om färdigbyggda filer saknas, eller om man vill ha andra inställningar så kan man i vissa fall ladda ner sådana via nedladdningssidan för wxwidgets

Installation av wxwidgets 3 ("https://www.wxwidgets.org/downloads/"). Alternativt laddar man istället ner källkoden för wxwidgets och bygger denna med lämpliga inställningar. CodeBlocks med TDM-GCC-481 under Windows Ladda ner via endera länken Windows ZIP eller Windows 7Z och packa upp i en lämplig katalog (t.ex. "C:\wxWidgets-3.0.2"). Starta ett kommandofönster och gå till underkatalogen "\build\msw" med kommandot cd: C:\Users\lod>cd C:\wxWidgets-3.0.2\build\msw Lägg till katalogen med kompilator etc till PATH-variablen: C:\wxMSW-2.8.12\build\msw>set PATH=%PATH%;C:\Program Files (x86)\codeblocks\mingw\bin; Rensa bort skräp från tidigare byggen med gcc: mingw32-make -f makefile.gcc clean Bygg biblioteken med lämpliga inställningar (detta kan ta upp mot 30-40 min): mingw32-make -f makefile.gcc BUILD=release SHARED=0 MONOLITHIC=1 UNICODE=1 De byggda biblioteken kan nu kopieras till lämpligt ställe. Skapa en rotkatalog under Dokument för dina C++-projekt under CodeBlocks och skapa i denna en katalog wxwidgets-3.0.2-cb. Gå till roten av källkoden och kopiera dels katalogen "\include" och dels katalogen "\gcc_lib" under "\lib" till wxwidgets-3.0.2-cb. Döp sedan om "\gcc_lib" till "\lib" i wxwidgets-3.0.2-cb. Ladda ner "wxwidgets-3.0.2-cb.zip" från kursens hemsida och från denna packa upp katalogen samples-cb så att den hamnar bredvid katalogen wxwidgets-3.0.2-cb. Xcode under MacOSX10.9 Ladda ner via länken Source for Linux, OS X, etc och packa upp i en lämplig katalog. Starta ett kommandofönster ( Terminal ) och gå till rotkatalogen i den uppackade källkoden med kommandot cd. Skapa där en arbetskatalog och gå ner i denna: cd /Users/user/Downloads/wxWidgets-3.0.2 mkdir build-release cd build-release Gör lämpliga inställningar med kommandofilen configure i rotkatalogen (Unicode är aktiverat som standard under OSX, enable-unicode gör ingen skillnad):../configure --enable-monolithic --disable-shared --with-cocoa --with-macosx-version-min=10.9 --with-macosx-sdk=/applications/xcode.app/contents/developer/platforms/macosx.platform/developer/s CXXFLAGS="-std=c++11 -stdlib=libc++" CPPFLAGS="-stdlib=libc++" LIBS=-lc++ Bygg biblioteken med dessa inställningar (detta kan ta upp mot 30-40 min): make I samma mapp som configure kan man köra:../wxconfig --static=yes --cppflags --libs core,base Då får man ut alla flaggor, länkningar osv, på exempelmaskinen gav det (första include mappen innehåller setup.h):

4 Installation av wxwidgets../wxconfig --static=yes --cppflags --libs core,base -I/Users/user/Downloads/wxWidgets-3.0.2/lib/wx/include/osx_cocoa-ansi-static-3.0 -I/Users/user/Downloads/wxWidgets-3.0.2/include -D_FILE_OFFSET_BITS=64 -D WXMAC -D WXOSX -D WXOSX_COCOA -L/Users/user/Downloads/wxWidgets-3.0.2/lib -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL /Users/user/Downloads/wxWidgets-3.0.2/lib/libwx_osx_cocoa-3.0.a -framework WebKit De byggda biblioteken kan nu kopieras till lämpligt ställe. Skapa en rotkatalog för dina C++projekt under Xcode och skapa i denna en katalog wxwidgets-3.0.2-xcode. Gå till roten av källkoden och kopiera dels katalogen "/include" och dels katalogen "/lib" till wxwidgets-3.0.2-xcode. Kompileringsflaggororna man får genom att köra wx-config kan användas för att konfiguera Xcode med dess konfigurationssystem. Det man behöver göra i Xcode är följande: Lägga till Preprocessor Macros, definerade -D Lägga till filer att länka mot, definierade -framework, libwx_xxx.a (m.fl?) Lägga till include mapp för WxWidgets, definierade -I Lägga till lib mapp för WxWidgets, definierad -L Laborationer Några av laborationsuppgifterna kommer att använda sig av wxwidgets. Filer för dessa finns att ladda ner via kursens hemsida för CodeBlocks och Visual C++ 2010 Express för användning på datorena i datorsalarna. OBS. Det är viktigt att projekt som använder sig av wxwidgets hamnar på rätt nivå i katalogträdet. De kodskelett som finns att ladda ner för dessa laborationsuppgifter (med namn som labbn-xx.zip) skall packas upp så att rotkatalogen labbn-xx hamnar bredvid katalogerna samples-xx och wxwidgets-3.0.2-xx (n är labbnr och xx är t.ex. cb eller vc). Projekt som använder sig av wxwidgets skall alltså vara kusiner till projekten i samples-xx.

Programmering med wxwidgets 5 Programmering med wxwidgets Klassbiblioteket till wxwidgets är omfattande och att hitta rätt klasser att använda är svårt. Att dessutom på egen hand lista ut hur man skall använda dessa klasser är i det närmaste omöjligt. Varje enskild klass är visserligen väl dokumenterad, men belysande exempel saknas. Som komplement till dokumentationen behövs tutorials och förklarande programexempel av lagom svårighetsgrad. Dokumentation Hemsidan för den officiella dokumentationen ("http://docs.wxwidgets.org/3.0/") är en ingångspunkt för den som redan har vana från wxwidgets eller annat grafiskt användargränssnitt. Programming Guides ger en del bra tips och alphabetical list of classes eller Class List by Category leder till dokumentationen av de ingående klasserna. Samples Overview ger en beskrivning av de exempelprogram som följer med när man laddar ned källkoden för wxwidgets. Tutorials Istället för att gå direkt på dokumentationen ovan kan det vara lämpligt att börja med att titta på de tutorials som finns tillgängliga: ("https://www.wxwidgets.org/docs/tutorials/"). Hello world in wxwidgets: A Very Short Tutorial går igenom och förklarar hur programmet wxhello är uppbyggt och fungerar. What Do These Sizer Things Do? ger grunderna för man sköter den grafiska layouten med olika subklasser till wxsizer. Intermediate wxwidgets Tutorial ger en stegvis introduktion till hur man bygger upp mer och mer avancerade program. En del kodexempel i dessa tutorials använder funktionen Connect för att koppla eventhanterare. Detta fungerar fortfarande, men det rekommenderas att man istället använder funktionen Bind. Se avsnittet Dynamic Event Handling på sidan Events and Event Handling ("http://docs. wxwidgets.org/3.0/overview_events.html"). Bind används också i de exempelprogram och kodskelett som finns att ladda ner från kursens hemsida. wxwiki Den användardrivna wxwiki ("https://wiki.wxwidgets.org/main_page") har en del kompletterande information. Titta t.ex. under Guides & Tutorials eller Documentation.