Gjest Slettet+19873487 Skrevet 1. august 2006 Del Skrevet 1. august 2006 (endret) Hei. Satt og programmerte og neste gang jeg skulle kompilere med gcc i cygwin, så fikk jeg følgende feil: fil.c:1:20: iostream: No such file or directory Og koden kan være så kort som denne: #include <iostream> Har prøvd å reinstallere alle pakkene i cygwin, men samme feil. Noen som vet hva jeg kunne gjort? Endret 2. august 2006 av Slettet+19873487 Lenke til kommentar
luser32 Skrevet 1. august 2006 Del Skrevet 1. august 2006 Du hadde vel ikek tatt noe skade av å bruke MinGW istedenfor? Lenke til kommentar
lnostdal Skrevet 1. august 2006 Del Skrevet 1. august 2006 (endret) Når du kompilerer med `gcc' og filnavnet ender med `.c' så antar GCC at du kompilerer et C-program, og ting fungerer ikke hos deg. Når du kompilerer med `gcc' og filnavnet ender med `.cpp' (eller lignende) antar GCC at du kompilerer et C++-program, og ting fungerer hos deg. (edit: dog linkeren feiler så klart om man ikke spesifiserer noen ekstra argumenter) Når du kompilerer med `g++' vil den anta at du kompilerer C++-kode uansett, og ting fungerer hos deg. Endret 2. august 2006 av lnostdal Lenke til kommentar
Gjest Slettet+19873487 Skrevet 2. august 2006 Del Skrevet 2. august 2006 Kunne vel ha prøvd MinGW. Dette har ikke noe med hvordan jeg navngir filen. Jeg satt og kompilerte med samme kommando hele tiden. gcc program.c && ./program Dette fungerte helt fint. Jeg skrev litt kode, kompilerte og kjørte programmet. Da programmet kjørte så jeg at det var en liten feil, og redigerte koden, og neste gang jeg skulle kompilere, så fikk jeg den feilen. Dette er en feil som bare dukket opp helt plutselig. Jeg har ikke endret på noen filer. Eneste jeg har gjort er: 1. Skrive kode 2. Kompilere 3. Kjøre program 4. Redigere kode 5. Kompilere (med feil) Og nå får jeg den feilen uansett hvilken include-fil jeg bruker. Lenke til kommentar
lnostdal Skrevet 2. august 2006 Del Skrevet 2. august 2006 (endret) Kunne vel ha prøvd MinGW. Dette har ikke noe med hvordan jeg navngir filen. Jo, du tar feil - og jeg har rett. Forsøk igjen. Endret 2. august 2006 av lnostdal Lenke til kommentar
Gjest Slettet+19873487 Skrevet 2. august 2006 Del Skrevet 2. august 2006 (endret) Jeg gjør et forsøk, men ser ikke hvordan det skulle være forskjellig når det fungerte de hundre første gangene. EDIT: Gjorde som du sa. Når jeg prøver "gcc program.cpp" så får jeg bare 6-7 feil med "undefinded reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const' og "undefinded reference to 'std::ios_base::Init::Init()' Endret 2. august 2006 av Slettet+19873487 Lenke til kommentar
lnostdal Skrevet 2. august 2006 Del Skrevet 2. august 2006 (endret) Da har du i løpet av de 100 gangene hatt tilfeller der en eller flere av disse tingene gjelder: * kompilert/linket med g++ de 100 gangene * skiftet navn på fila * kun hatt C-kode i fila * spesifisert noen sære argumenter til gcc for å "jalle det til" En mulighet er så klart at du har borka installasjonen på et eller annet vis, men det jeg sier om filnavn, gcc, g++, c og c++ gjør seg fortsatt gjeldende. Endret 2. august 2006 av lnostdal Lenke til kommentar
lnostdal Skrevet 2. august 2006 Del Skrevet 2. august 2006 (endret) Forsøk med g++; da tar den med riktige argumenter til linkeren også. Altså; kompileringen av C++-kode gjennomføres v.h.a. gcc: lars@ibmr52:~/programming/c$ gcc -Wall -g -c blah.cpp ..når man linker C++ går dette også v.h.a. gcc, slik: lars@ibmr52:~/programming/c$ gcc -lstdc++ -o blah blah.o ..eventuelt begge skrittene samtidig: lars@ibmr52:~/programming/c$ gcc -Wall -g -lstdc++ blah.cpp ..men g++ er like greit: lars@ibmr52:~/programming/c$ g++ -Wall -g blah.cpp edit: det er hele tiden snakk om koden (fra blah.cpp): #include <iostream> int main(){ return 0; } ..uten main vil du få en linker-error .. ting kompilerer, men linkes ikke.. Endret 2. august 2006 av lnostdal Lenke til kommentar
Gjest Slettet+19873487 Skrevet 2. august 2006 Del Skrevet 2. august 2006 (endret) Da jeg prøver å kompilere med g++ får jeg bare en masse andre feil. Jeg får heller bare skrive om programmet da. Kan ikke ta all verdens tid det. EDIT: Prøvde dine eksempler ovenfor. Hver gang jeg brukte gcc fikk jeg feilen om at den ikke fant iostream(.h) Endret 2. august 2006 av Slettet+19873487 Lenke til kommentar
lnostdal Skrevet 2. august 2006 Del Skrevet 2. august 2006 (endret) Hum - okei; om det er snakk om meldinger basert på feil i bruker-koden så er du i mål ... edit: EDIT: Prøvde dine eksempler ovenfor. Hver gang jeg brukte gcc fikk jeg feilen om at den ikke fant iostream(.h) Har du har kallt filen *.cpp ....? (skal ikke være `iostream.h' .. kun 'iosteam') Endret 2. august 2006 av lnostdal Lenke til kommentar
Gjest Slettet+19873487 Skrevet 2. august 2006 Del Skrevet 2. august 2006 Har du har kallt filen *.cpp ....? (skal ikke være `iostream.h' .. kun 'iosteam') Filen er bare kalt for 'program.c'. Men jeg har prøvd med andre "extensions" også. Jeg vet man skal droppe '.h'. Det er en del av nye standarden. (Som nå begynner å bli en god stund siden.) Prøver på c++ i stedet nå, men stringstream ser ikke ut til å bli deklarert.. #include <sstream> stringstream ss; main() { ss << blah; } Lenke til kommentar
Gjest Slettet+19873487 Skrevet 2. august 2006 Del Skrevet 2. august 2006 Den står der Synes det bare er en veldig merkelig feil. Skulle vel vært en logisk feil, men jeg ser den ikke. Lenke til kommentar
lnostdal Skrevet 2. august 2006 Del Skrevet 2. august 2006 Vel, jeg ser ikke at den står der ..... og hva med `blah'? Lenke til kommentar
Gjest Slettet+19873487 Skrevet 2. august 2006 Del Skrevet 2. august 2006 (endret) Det er mine feil. Jeg fokuserte mest på stringstream'en. Derfor ble den borte. Blah er bare noe rart som vi legger i stringen. EDIT: Du hadde helt rett angående "Using namespace std;". Jeg har jo skrevet C-kode tidligere. Og da brukte jeg print og ikke cout, derfor hadde jeg ikke brukt den. Da var det min feil som vanlig Takk for ledetråden Endret 2. august 2006 av Slettet+19873487 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å