B3nd1k Skrevet 19. januar 2009 Del Skrevet 19. januar 2009 Heisann! Da har jeg begynt med C(++) på skola etter å ha jobbet med Java i rundt 2 år, og sliter med å tilpasse meg helt. Problemet er at jeg i Eclipse har blitt vant til at man kan ha så mange selvstendige programmer man vil i et prosjekt (altså flere main-metoder) og samtidig ha muligheten til å kjøre disse individuelt. Dette har fungert meget bra med øvingsopplegget da jeg har pleid å opprette et prosjekt per øving, og hver øving inneholder flere forskjellige program. Dette får jeg altså ikke til med Codeblocks. Jeg får feilen "multiple definition of `_main'" for hver ekstra main()-metode jeg har med. Disse ligger selvsagt i forskjellige filer (altså bare en main-metode per fil), så jeg skjønner det slik at når jeg kjører build-and-run kompileres og kjøres alle filene. Er det noen måter å omgå dette på? Er det evt. et annet IDE som støtter dette? Jeg skjønner jo at det er en grunn til at det er bygget slik, jeg har heller ikke for vane å ha flere programmer i samme prosjekt, men akkurat i denne situasjonen føler jeg at det er hensiktsmessig. Lenke til kommentar
Dead_Rabbit Skrevet 19. januar 2009 Del Skrevet 19. januar 2009 Tror ikke det er noen måte å omgå det på. Det hadde heller ikke vært hensiktsmessig. I et prosjekt, så kompileres alle filene. Og når filene er kompilert, så linkes de til et kjørbart program. Når du så har flere filer med definisjoner av main-funksjonen går ikke det når disse skal linkes sammen til étt program. Lenke til kommentar
B3nd1k Skrevet 19. januar 2009 Forfatter Del Skrevet 19. januar 2009 Men det må da være mulig å få til å kun kompilere og kjøre filen man har aktiv og alle filer det linkes til i denne filen? Dersom jeg for eksempel har filen random.c som inkluderer filen random.h så er det altså bare disse to filene det skal gjøres noe med dersom jeg kompilerer. For meg virker dette veldig logisk og hensiktsmessig, men det kan som sagt tenkes at det er fordi at jeg er vant med Eclipse og Java hvor dette fungerer på denne måten. Lenke til kommentar
Mr.Garibaldi Skrevet 19. januar 2009 Del Skrevet 19. januar 2009 Nå har jeg ikke prøvd Code::Blocks, men i Visual Studio kan du godt ha flere prosjekter åpne samtidig, som da har hver sin main() metode. Men du kan ikke ha flere main-metoder i samme prosjekt. Og hva er egentlig fordelen du er på jakt etter ved å gjør det på en måten? Kan du ikke heller ha en main, men så kalle en "minMain()" metode i den filen du vil starte? Lenke til kommentar
B3nd1k Skrevet 19. januar 2009 Forfatter Del Skrevet 19. januar 2009 Jeg ser jo at fordelen med å kunne gjøre noe slik er minimal dersom man utvikler virkelige applikasjoner, men akkurat i dette tilfellet er det en stor fordel for meg da jeg vil ende opp med å måtte opprette 4-5 prosjekter per øving. Når man så har 8-10 øvinger kan det raskt bli uoversiktlig. Problemet er altså at jeg for hver øving skal utvikle flere programmer. Men dersom det ikke er noen måte å gjøre dette på har jeg kanskje ikke så mange andre valg enn å ende opp med en større prosjektorgie. Uansett, takk for hjelpa så langt. Dersom noen andre vet om måter å gjøre dette på uten å måtte sitte med notepad og kommandovinduet er jeg meget takknemlig Lenke til kommentar
Dead_Rabbit Skrevet 19. januar 2009 Del Skrevet 19. januar 2009 Det du jo kan gjøre, er å opprette en funksjon per "prosjekt" og kalle disse i main. F.eks. kan du ganske raskt skifte mellom "prosjektene" om du bare kommenterer ut de funksjonene du ikke bruker. void program1() { } void program2() { } void program3() { } void program4() { } int main() { //program1(); //program2(); program3(); //program4(); return 0; } Lenke til kommentar
Dj_Offset Skrevet 19. januar 2009 Del Skrevet 19. januar 2009 Kan du skrive dine egne Make-filer i codeblocks, evt kan du bruke noe annet som tillater akkurat det? Lenke til kommentar
JeffK Skrevet 19. januar 2009 Del Skrevet 19. januar 2009 Er det i det hele tatt nødvendig med et IDE for slike små oppgaver? Lenke til kommentar
B3nd1k Skrevet 19. januar 2009 Forfatter Del Skrevet 19. januar 2009 Jøsses, her skulle man møte motstand gitt Hvordan i all verden kan du vite hvor små oppgavene er JeffK? Det er uansett etter min mening greit å sette seg inn i IDE-et når oppgavene er små slik at man slipper å styre rundt med det i tillegg når opgpavene blir større. Det er i alle fall min erfaring. Jeg skal tenke litt på løsningen dere kom med Mr.Garibaldi og Dead_Rabbit, når jeg tenker meg om kan det jo fungere ganske greit å gjøre det på denne måten. Man kan skrive egne makefiles i Codeblocks ja, men jeg så helst at jeg slapp å styre med akkurat det. Takk for forslaget uansett Lenke til kommentar
teflonpanne Skrevet 20. januar 2009 Del Skrevet 20. januar 2009 Å skrive en makefile var det første som slo meg også. Hvis du i tillegg bytter til en skikkelig editor som vim også og lærer deg å bruke den så kommer du nok ikke til å savne hemmende og lite fleksible IDE'er. Lenke til kommentar
Kagee Skrevet 20. januar 2009 Del Skrevet 20. januar 2009 Du liker jo Eclipse, hvorfor ikke bruke det til C++ også? Lenke til kommentar
B3nd1k Skrevet 20. januar 2009 Forfatter Del Skrevet 20. januar 2009 Å skrive en makefile var det første som slo meg også. Hvis du i tillegg bytter til en skikkelig editor som vim også og lærer deg å bruke den så kommer du nok ikke til å savne hemmende og lite fleksible IDE'er. Jeg har hatt god erfaring med IDE-er til nå, så jeg ser ingen grunn til å gå tilbake til en teksteditor. Problemet jeg har kommet over nå er langt fra så ille at jeg vurderer noe slikt, med mindre det er snakk om meget enkle oppgaver selvsagt : ) Du liker jo Eclipse, hvorfor ikke bruke det til C++ også? Det var det første jeg prøvde, men det led desverre av samme problem. Jeg har uansett innsett mitt nederlag og tatt i bruk andre løsninger. Det er i hovedsak snakk om å komme seg ut av en gammel vane, noe jeg sikkert vil klare etter hvert Lenke til kommentar
Dead_Rabbit Skrevet 20. januar 2009 Del Skrevet 20. januar 2009 Å skrive en makefile var det første som slo meg også. Hvis du i tillegg bytter til en skikkelig editor som vim også og lærer deg å bruke den så kommer du nok ikke til å savne hemmende og lite fleksible IDE'er. Jeg har hatt god erfaring med IDE-er til nå, så jeg ser ingen grunn til å gå tilbake til en teksteditor. Problemet jeg har kommet over nå er langt fra så ille at jeg vurderer noe slikt, med mindre det er snakk om meget enkle oppgaver selvsagt : ) En smule off-topic, men når man bytter ut IDEet med en skikkelig teksteditor som vim, så er ikke det "å gå tilbake", det er i aller høyste grad å gå fremover. Lenke til kommentar
GeirGrusom Skrevet 21. januar 2009 Del Skrevet 21. januar 2009 (endret) - Legg alle prosjektene dine inn enten New->Project eller Open - For å kompilere alle prosjektene i workspacet, velger du Build->Build Workspace Da kompileres alle prosjektene i workspacet. Du kan lagre workspacet i File->Save workspace Dette fungerer nogenlunde som solutions i Visual Studio, og du kan velge hvilken rekkefølge prosjektene skal kompileres i. Du kan sette pre/post build kommandoer i Project->Build options. Endret 21. januar 2009 av GeirGrusom Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå