probleem met c++

E

eric

Ik ben rustig aan begonnen met c++ en loop nu al vast.

Ik heb een programmatje gemaakt en opgeslagen.
Nu moet ik de broncode vertalen en linken, maar dat doet hij niet.
In het begin ging ik wel naar de editor, maar dat gaat nu ook niet meer.

Wie weet waar de fout kan zitten, foute path ingesteld of zo...
 
Dergelijke problemen zullen wel vaker voorkomen. Ik denk dat dat toch wel ergens in je boek staat of via google te vinden is.

Hmmmmz, ben je eigenlijk wel in het bezit van een compiler?
Die heb je wel nodig om de vertaalslag te maken.
En de links maken doet een coompiler ook...


G
 
ik ben weer iets verder, nu geeft hij dit aan:
error e2075: incorrect configuration file option: Ic:\borland\bcc55\include

Ik heb vermoed ik gedaan wat er stond.
 
de configuratie van een file is dus niet goed.
Include? Zijn je include links goed? Zijn die er ?berhaupt?
Hij heeft het over een optie, in de file configuratie; Ik zou zeggen dat er dingen niet goed zitten in je programma... Wellicht doubleword gebruikt ipv word oid.

ff verder zoeken, een mogelijkheid is om e2075 in te voeren bij google...


G
 
Ik heb dit progje gemaakt d.m.v. edit hoera.cpp

in de editor heb ik het volgende ingevoerd:

#include<iostream>
using namespace std;
{
cout<<"Hoera, het is gelukt!"<<endl;
}

Dit alles opgeslagen, en toen moest ik de broncode vertalen en linken zodat er een exe-bestand ontstaat.
Ik tikte in : bcc32 hoera.cpp en ik kreeg nu te zien:
error E2451 hoera.cpp5:undefined symbol 'hoera'in function main()
error E2451 hoera.cpp5:undefined symbol 'het'in function main()
error E2451 hoera.cpp5:statement missing ; in function main()
error E2451 hoera.cpp5:unterminated string or character in function main()
4 errors in compile

ik wil dit gaan verbeteren en ik tik in : edit hoera.cpp
dan geeft hij aan: edit wordt niet herken als een interne of externe opdracht, programma of batchbestand.

Wat is er hier of voorafgaand fout gedaan?
 
Originally posted by eric
Ik heb dit progje gemaakt d.m.v. edit hoera.cpp

in de editor heb ik het volgende ingevoerd:

#include<iostream>
using namespace std;
{
cout<<"Hoera, het is gelukt!"<< <====kloppen die haakjes? endl;
}

Dit alles opgeslagen, en toen moest ik de broncode vertalen en linken zodat er een exe-bestand ontstaat.
Ik tikte in : bcc32 hoera.cpp en ik kreeg nu te zien:
error E2451 hoera.cpp5:undefined symbol 'hoera'in function main()
error E2451 hoera.cpp5:undefined symbol 'het'in function main()
error E2451 hoera.cpp5:statement missing ; in function main()
Hier zie je dat hij je *text* als functie beschouwt... En dat lijkt me niet goed.
error E2451 hoera.cpp5:unterminated string or character in function main()
4 errors in compile

ik wil dit gaan verbeteren en ik tik in : edit hoera.cpp
dan geeft hij aan: edit wordt niet herken als een interne of externe opdracht, programma of batchbestand.

Wat is er hier of voorafgaand fout gedaan? [/B]

Hmmm, waar vraag jij om het programma 'edit'? Zit dat in je Borland pakket? Of kan je het niet gewoon openen met je GUI icoon open...
Of ben je via commandline aan het programeren?


G
 
Hallo big _g,

Op de cd-rom staat dat die haakjes zo zijn.
En de compiler is een Borland c++ command-line compiler.
Op het begin moest ik wel een path aanvullen bij omgevingsvariabelen. Ik had eerst C:\Borland|bcc55\bin in gevuld omdat ik XP gebruik, de rest had ik toen weggehaald.
Maar dat moest niet want ik moest die regel aanvullen i.p.v. verwijderen. Er staat nu C:\windows\system32;c:\windows;c:\borland\bcc\bin
Nou weet ik niet of dit goed is.
 
Ik doe nu met copieren en plakken bepaalde bestanden waar hij om vraagt in dezelfde map plaatsen als waar dat progje staat wat ik gemaakt heb.

Dus ik denk dat er geen link ligt van map c:\test naar map c:\borland\bcc55\bin
Want als ik de progjes van map bin naar map test breng vraagt hij steeds naar een ander progje en niet meer naar die ene die er net is ingezet.

Maar ik ben er nog niet uit,
 
Originally posted by eric

Op het begin moest ik wel een path aanvullen bij omgevingsvariabelen. Ik had eerst C:\Borland|bcc55\bin in gevuld omdat ik XP gebruik, de rest had ik toen weggehaald.
Maar dat moest niet want ik moest die regel aanvullen i.p.v. verwijderen. Er staat nu C:\windows\system32;c:\windows;c:\borland\bcc\bin
Nou weet ik niet of dit goed is.

Ja, heb je alles dan gecontroleerd? kloppen die links nu wel?
 
Probeer dit eens:

#include <iostream>
using namespace std;

{
cout << "Hoera, het is gelukt!" << endl;
}

Misschien moeten er wat spaties tussen zitten.
Achter #include spatie en voor en achter << moet ook een spatie.

Ik ken er niets van maar als naar voorbeelden gaat zien dan is dit zo.

En als het dan nog niet werkt kan je dit proberen:

#include <iostream>
using namespace std;

int main()

{
cout << "Hoera, het is gelukt!" << endl;
return 0;
}
 
Wederom bedankt voor jullie replies.

Ik heb nu een vermoeden waar mogelijk een fout zit en dat is het volgende:

Ik heb een tekstbestand, genaamd hoera.cpp
die wordt WEL gecompileerd naar de volgende bestandsnaam:
hoera.obj

Maar nu komt het, hij wordt NIET gelinkt en dus wordt hij ook geen bestand met de naam hoera.exe

Wat is hier de mogelijke oorzaak van?
 
Als ik hoera.cpp in het mapje Bin zet (c:\borland\bcc55\bin) en ik ga naar die map en toets dan bcc32 hoera.cpp in( in het dos-scherm) dan COMPILEERT en LINKT hij wel en werkt het programmatje wel.

En als ik in het mapje test zit (c:\test) niet, dan geeft hij dit aan:
bcc32 wordt niet herkend als een interne of externe opdracht, programma of batchbestand.

Volgens mij moeten er bepaalde links worden gelegd, maar ik heb al links gemaakt maar die werken dus niet.

Wie weet............?
 
Originally posted by eric
Er staat nu C:\windows\system32;c:\windows;c:\borland\bcc\bin
Nou weet ik niet of dit goed is.

Als eerste: het kan natuurlijk zijn dat bcc alleen in zijn eigen \bin directory kijkt, en je dus altijd daar je *.cpp bestandjes moet opslaan.
Verder:
Als je in de map waar ie staat begint, doet ie ut wel ?
Je hebt je path (de weg die je PC bewandelt op zoek naar de bestanden die je wil uitvoeren, en waarvan ie niet zal afwijken) zo staan zoals je hierboven hebt vermeld ?
Want dat kan de reden zijn dat ie iets niet vind.
Je kunt nu 2 dingen proberen:
Of je past je path aan naar:
C:\windows\system32;C:\windows;C:\borland\bcc\bin;C:\test

Of je geeft het volledige path aan als je hoera.cpp wil aanwijzen.
Dan kun je dus vanuit iedere willekeurige directory intikken:
bcc32 C:\test\hoera.cpp
Heb je dat ook al geprobeerd?
In principe moet het voldoende zijn als je een van de twee gebruikt.
Maar probeer ze es allebei.
Omdat je niet wil dat je een path gaat maken waarmee je OS uiteindelijk je hele systeem gaat aflopen, is het eigenlijk gewoon het beste als je er een gewoonte van maakt altijd het hele path zelf in te typen wanneer je je opdracht gaat geven.
Dan voorkom je ook dat ie een betsndje gaat compileren dat dezelfde naam zou hebben en dat ergens op het path staat wat jij allang weer vergeten bent.
(zoals C:\borland\bcc\bin\test.cpp bijvoorbeeld.)
 
Hallo MAS,

Ik heb ondertussen een systeemherstel gedaan en opnieuw dat path aangevuld , want er bleek dat er nog meer achterstond en dat had ik toendertijd gedelete.

C:\windows\system32;C:\windows;C:\borland\bcc\bin;
C:\test
Deze path heb ik geprobeerd maar daar deed hij niets op (Ik heb hem opnieuw opgestart toen ik hem verandert had).

De andere optie: bcc32 C:\test\hoera.cpp
Die werkte wel zoals je omschreef.


Ik doe hem nu gewoon in de map "bin" (c:\borland\bcc55\bin) zetten en dan bcc32 hoera.cpp dat werkt ook, dan kan ik de map test gewoon weg doen.

Ik kan in elk geval verder, maar ik weet nog steeds niet waarom het niet werkt zoals het op de cd-rom staat beschreven. Misschien dat ik daar later weleens achter kom (lol).

Bedankt voor je reactie MAS.
 
Zoals eerder al aangegeven, is het wel zeer raadzaam om wel een beetje structuur erin te houden.
Natuurlijk kun je alles in ../bin droppen en van daaruit werken, maar als je dan een paar projectjes (testjes) verder bent, word het ineens onoverzichtelijk.
Daarom is het dus verstandig om er nu (terwijl je het jezelf nog aan het aanleren bent) al wat struktuur in te houden.
Je kunt dus naast of in je ../bin directory een mapje aanmaken per project.

In ieder geval suc7 met je cursus :)
 
Hallo MAS,

Dat heb ik ook gedaan, ik heb een aparte map met alleen *.cpp in staan,
Deze *.cpp die werken want anders zet ik ze er niet in.
De rest delete ik, want die heb ik zo aangemaakt.
 



Oliebollen Hosting Fun Oliebollen

Advertenties

Terug
Bovenaan Onderaan