Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Beginner] Compilen *.C file met Borland

Pagina: 1
Acties:

  • RelaXXinG
  • Registratie: Augustus 2000
  • Laatst online: 19-11 09:59
Om een opdracht voor school te kunnen maken moet ik eerst een trec_eval script compilen.
Maar dit wil me maar niet lukken.

Ik ben totaal niet thuis in C, compilen, en dat soort zaken, maar ik ben erachter gekomen hoe ik het bestand zou moeten kunnen compilen.

Het gaat om het bestand http://www.reface.nl/upload/trec_eval.c.
Deze wil ik compilen met de Borland C++ Compiler.
Ik heb na de installatie van Borland de *.cfg files aangemaakt.

In command prompt ben ik naar c:/treceval/ gegaan, waar het bestand trec_eval.c staat.
vervolgens heb ik hetvolgende getypt:
code:
1
c:\bcc\bin\bcc32 -Ic:\bcc\include -Lc:\bcc\lib\ c:\treceval\trec_eval.c


vervolgens krijg ik een reeks errors:
Afbeeldingslocatie: http://www.reface.nl/upload/command.jpg

het script die we gekregen hebben bevat overigens de volgende files:
Afbeeldingslocatie: http://www.reface.nl/upload/treceval.jpg

(ik neem trouwens aan dat ik alleen treceval.c moet compilen of ook de rest? :?)

ben een n00b wat betreft compilen en programmeren dus, ik hoop dat het zonder al te gewikkelde programmeertaal uit te leggen is.. :)

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 16-11 18:33
- script?
- wat snap je niet aan "unable to open include file <naam>" ?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Cassettebandje
  • Registratie: Juli 2002
  • Laatst online: 13:08

Cassettebandje

SA-C90 TDK

Er staat een Makefile bij, probeer eens het make commando?

  • Alain
  • Registratie: Oktober 2002
  • Niet online
De Makefile gaat uit van een linux omgeving. Het zal me niks verbazen dat je de code moet herschrijven om dit in windows te kunnen gebruiken.

Wel stoere code trouwens:

C:
1
2
3
4
5
6
7
8
9
10
11
12
if (argv[1][2] == 'a')
        epi.utility_a = atof (&argv[1][3]);
        else if (argv[1][2] == 'b')
        epi.utility_b = atof (&argv[1][3]);
        else if (argv[1][2] == 'c')
        epi.utility_c = atof (&argv[1][3]);
        else if (argv[1][2] == 'd')
        epi.utility_d = atof (&argv[1][3]);
        else {
        (void) fputs (usage,stderr);
        exit (1);
        }


Als iemand in mijn team zulke code zou schrijven dan mag diegene wieberen. ;)

You don't have to be crazy to do this job, but it helps ....


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 04:20
offtopic:
Heb je nu met opzet de indentation verneukt? Het is dat React de indentation verneukt (in de originele source file is die wel goed) maar verder is het i.m.o. vrij normale C code. Als je daar niet tegen kunt, vraag ik me toch af hoe je teamleider geworden bent.

[ Voor 11% gewijzigd door Soultaker op 20-03-2008 23:24 ]


  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 19-10 00:17
Dit kun je alvast weghalen in sysfunc.h:
C:
1
2
3
#include <sys/wait.h>
#include <sys/time.h>
#include <sys/mman.h>


Dit kun je waarschijnlijk ook weghalen:
C:
1
#include <unistd.h>


De bovenste regel in trec_eval.c kun je veranderen in:
C:
1
static char *VersionID = "blaat";


Nu moet je alleen nog erachter komen hoe je in Borland C++ de functies lseek, read en close gebruikt.

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


  • Alain
  • Registratie: Oktober 2002
  • Niet online
Soultaker schreef op donderdag 20 maart 2008 @ 23:22:
offtopic:
Als je daar niet tegen kunt, vraag ik me toch af hoe je teamleider geworden bent.
Ik verkoop normaal de broodjes in de kantine, maar ze hadden een software engineer nodig ...

You don't have to be crazy to do this job, but it helps ....


Verwijderd

Als je moet leren programmeren van school; waarom begin je niet bij het begin met hello world ofzo?

Just to get the hang of it ;-)

  • Cascade
  • Registratie: Augustus 2006
  • Laatst online: 18-11 17:28
Is dit de source?

Moet je per se met Windows aan de slag? Als je nooit met compilers/linkers (en helemaal commandline tools/make files) geklooid hebt is het niet prettig om om te zetten.

Is het niet eenvoudiger om een Live-CD van een Linux distro te starten, daar te bouwen (met make) en ook in die omgeving te gebruiken?

Jouw screendump:
- ilink32.exe niet gevonden, oftewel je 'PATH' environment variabele heeft niet het pad naar Borland C++ er in. Doe eerst eens 'set PATH=%PATH%;C:\bcc\bin' in je command prompt.
- de VERSIONID error, dit lijkt me een DEFINE die ingesteld is in de MAKE file. -> gebruik de makefile!
- de include errors zijn zo te zien voor platformafhankelijke dingen, die dus omzetten of weglaten in de source (zoals eerder gezegd).

Verder hoor je de makefile te gebruiken voor alle afhankelijkheden en instellingen van het project. Die kan je proberen om te zetten naar iets dat de Borland C++ begrijpt. Zit er wel een 'make' utility bij die compiler?

Je hebt dit nodig voor een schoolopdracht? Hoort het compileren via een command-line bij de opdracht of heb je die tool gewoon nodig? Wil je snel resultaat, zou ik niet teveel tijd steken in compilatiemoeilijkheden en meteen aan de slag gaan op Linux. Of is dat geen optie?

Andere optie: Borland C++ dumpen en een GCC voor Windows opzoeken. Deze bijvoorbeeld: http://www.delorie.com/djgpp/ , heeft alle GNU tools en een IDE (RHIDE).

[ Voor 61% gewijzigd door Cascade op 21-03-2008 10:41 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:34

Creepy

Tactical Espionage Splatterer

Om een opdracht voor school te kunnen maken moet ik eerst een trec_eval script compilen.
Maar dit wil me maar niet lukken.

Ik ben totaal niet thuis in C, compilen, en dat soort zaken, maar ik ben erachter gekomen hoe ik het bestand zou moeten kunnen compilen.
Geven ze je op school geen les in C terwijl je dit toch moet compilen of is er iets anders aan de hand? Ik kan me echt niet voorstellen dat je iets voor school moet doen terwijl je niet weet hoe dit werkt. Je hebt altijd een docent waar je vragen aan kan stellen, dus wat heeft je docent gezegd hierover?

Sources compileren is de basis van software ontwikkelen. Als je een lap sources krijgt en je moet er iets mee doen maar je hebt geen idee hoe je moet compileren is er of iets mis met je opleiding of je hebt zelf niet helemaal goed opgelet ;)

[ Voor 17% gewijzigd door Creepy op 21-03-2008 10:44 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Cascade
  • Registratie: Augustus 2006
  • Laatst online: 18-11 17:28
Mag ik vragen wat voor opleiding het is? Vind het ook raar. Lijkt me sterk dat jouw school gaat eisen om zelf maar uit te zoeken hoe je een programma compileert. Dat horen zij uit te leggen, daarvoor ben jij de leerling en zijn zij de school. :-p En... hoe kom je aan de trec tool? Zelf gevonden? Hoort het bij de opdracht? Ik zie de comments in de source en denk 'ok, waarvoor is dit in godesnaam bedoeld?'.

Anyway, net DJGPP geprobeerd (had niets te doen). Het is vrij simpel, alleen even gedoe om op te zetten. Uitleg staat goed op de DJGPP site; kies voor de Zip Picker en volg de instructies. Je hebt eigenlijk alleen 'C' nodig zo te zien, dus je krijgt minimaal de packages djdev, bnu, gcc, en mak.

Als het goed geinstalleerd is en jouw command prompt 'environment' settings zijn in orde, dan is het een kwestie van 'make' in de folder van trec-eval intypen -> je krijgt dan 'trec_eval.exe' die onder Windows/DOS werkt (ondanks een shitload aan warnings).
Pagina: 1