Avatar billede palle_pirat Nybegynder
30. juli 2009 - 00:46 Der er 12 kommentarer og
2 løsninger

Codeblocks, GTKmm og en console

Hej eksperts

Jeg er begyndt at programmere GUI v.h.a. GTKmm bibliotekerne, og der er ingen problemer der.
Men når jeg kompilerer programmet får jeg, udover selve vinduet, også en console som ligger sig i baggrunden. Jeg har læst mig frem til at man kan sende flags til compileren, som skulle få consolen til at forsvinde.
Men hvordan er det lige at jeg får gjort det i Codeblocks med MinGW compileren, og hvilke kommandoer skal sendes??

Skal lige siges at jeg arbejder under Windows.

På forhånd tak.
Avatar billede arne_v Ekspert
30. juli 2009 - 01:06 #1
Prøv og byg med:

-mwindows
Avatar billede arne_v Ekspert
30. juli 2009 - 01:07 #2
Normalt plejer en IDE at sætte det rigtigt op, hvis man vælger den rigtige wizard til at create projektet (Windows app fremfor console app i dette tilfælde).
Avatar billede palle_pirat Nybegynder
30. juli 2009 - 01:33 #3
Jeg skal lige høre om det er i compiler options eller linker options eller begge steder jeg skal smide -mwindows
Avatar billede palle_pirat Nybegynder
30. juli 2009 - 01:36 #4
Har lige testet med -mwindows, og der får jeg stadig konsollen op.
Jeg prøver at se om der er nogen forskel ved at bruge wizard'en til at sætte projektet op.
Avatar billede palle_pirat Nybegynder
30. juli 2009 - 02:06 #5
Jeg får heller ikke noget positivt resultat ved at køre en wizard.
Avatar billede oddi Nybegynder
30. juli 2009 - 02:59 #6
Er det måske fordi du har kompileret programmet i debug mode?
Avatar billede palle_pirat Nybegynder
30. juli 2009 - 03:28 #7
oddi <- Jeg skal ikke kunne sige om jeg har kompileret programmet i debug mode, da jeg nu har afinstalleret ALT og geninstalleret efter instruks fra http://live.gnome.org/gtkmm/MSWindows og http://mingw.org/wiki/msys.
Nu kan jeg kompilere projektet uden at jeg får en konsol i baggrunden (Tak til arne_v - læg et svar og du får 50 point), men der er opstået nyt problem.
Før: Installerede Codeblocks med MinGW (kunne sagtens kompilere med MinGW).
Nu: Installerede MinGW først og derefter Codeblocks. Codeblocks kan ikke finde MinGW compileren automatisk, og jeg ser ingen indstillinger, hvor jeg kan angive stien til den.
Jeg opretter et nyt spørgsmål med 100 point til den som hjælper mig med dette problem.
Avatar billede oddi Nybegynder
30. juli 2009 - 03:38 #8
Nej jeg mener om du har kompileret dit eget program i debug mode... Typisk vælger man når man opretter et projekt, om det skal laves i en debug version eller en release version.
Avatar billede palle_pirat Nybegynder
30. juli 2009 - 03:41 #9
På den måde. Codeblocks spurgte om de valgt filer skulle kompileres i debug og/eller release mode, og der valgte jeg begge udgaver.
Spørgsmålet fortsætter her: http://www.eksperten.dk/spm/882232

arne_v - læg venligst svar i denne tråd.
Avatar billede arne_v Ekspert
30. juli 2009 - 03:53 #10
OK.

Men -mwindows burde virke.

gcc hello.c -o hello.exe -lgdi32

giver ved dobbeltklik på helle.exe et console vindue, mens:

gcc hello.c -mwindows -o hello.exe -lgdi32

ikke gør !

gcc version 4.3.3 (4.3.3-tdm-1 mingw32)
Avatar billede arne_v Ekspert
30. juli 2009 - 03:53 #11
om igen
Avatar billede palle_pirat Nybegynder
30. juli 2009 - 03:56 #12
Jo jo, den virkede også, men problemet ligger i Codeblocks.
Avatar billede oddi Nybegynder
30. juli 2009 - 12:10 #13
Prøv at oprette dit projekt som release og ikke debug og se hvad der sker.
Avatar billede palle_pirat Nybegynder
31. juli 2009 - 04:35 #14
Jeg fik samme resultat ved at oprette mit projekt som release.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester