Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Probleme mit Borland Free Compiler

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
07.05.2003, 18:51 Uhr
George3D



Wie bindet man eine LIB-Datei beim Free Compiler (BCC) von Borland ein?
Muss da evtl. etwas in eine der CFG-Dateien eingefügt werden?
Bis jetzt steht da nur:

-W
-I"cBorland\Bcc55\include"
-L"cBorland\Bcc55\lib"

Nachdem der Compiler problemlos gearbeitet hat, meldet der Linker:
[Linker Error] Unresolved external '_geEngine_CreateWithVersion' referenced from GAME.OBJ
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.05.2003, 22:58 Uhr
Hans
Library Walker
(Operator)



Zitat:
Nachdem der Compiler problemlos gearbeitet hat, meldet der Linker:
[Linker Error] Unresolved external '_geEngine_CreateWithVersion' referenced from GAME.OBJ


Hi,

das klingt so, als ob der Linker die Funktion '_geEngine_CreateWithVersion' nicht findet. Du musst also noch angeben, wo er die finden kann. Wenn sie aus einer Bibliothek stammt, die nicht standardmässig zum BCC gehört, muss Du entweder die *.LIB-Datei in das Verzeichniss schieben, wo die anderen auch stehen. Oder Du gibst in der -L option einen weiteren Pfad an, wo der Linker dann suchen soll; also etwa so:

-Lc: \Borland\Bcc55\lib;c: \"anderes Verzeichniss"\"weitere LIB-Dateien"

(Die Leerzeichen zwischen dem Doppelpunkt und dem Backslash aber nicht übernehem. die dienen nur dazu, die Smilies zu unterdrücken.)

Möglicherweise findet er aber auch die obj-Datei nicht, die der Compiler erzeugt hat. Dann ist eventuell noch die Option n gut, womit Du angibst, wo Compiler und Linker suchen sollen. Bei mir steht da zum Beispiel:

-nc: \borland\bcc55\own

Das setzt natürlich voraus, das ein Verzeichniss namens "own" existiert. Darin speicher ich meine Sourcecodes, usw. ab.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 07.05.2003 um 23:06 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.05.2003, 12:38 Uhr
George3D



Ich hatte bereits in der Konfigurationsdatei ilink32.cfg den neuen lib-Pfad eingefügt, nun hab ich die betreffende neue Lib-Datei auch noch mal in den Borland-Lib-ordner kopiert.

Leider bekomme ich weiterhin dieselben Meldungen, so als ob der Linker meine Angebote einfach ignorieren würde.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.05.2003, 12:42 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Nur das Verzeichnis anzugeben bringt nix, Du mußt dem Linker schon sagen, welche LIB er zusätzlich einbinden soll. Also in der Kommandozeile den Namen der LIB-Datei mit übergeben, dann klappt das.
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.05.2003, 12:47 Uhr
George3D



Danke für den Hinweis,

aber nun arbeite ich nicht mit Kommandozeilen, sondern habe Context als Editor. Von dort aus starte ich auch den BCC, der wiederum den Linker aktiviert. Wie komme ich in diese "Befehlskette", um den beiden mitzuteilen, dass sie gefälligst die richtige LIB mit einbinden sollen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.05.2003, 20:05 Uhr
Hans
Library Walker
(Operator)


Hi George,

ich kenne den Editor zwar nicht, aber ich denke, das man da irgendwo einstellen kann, wie die Kommandozeile aussehen muss, die den Compiler aufruft. Und da musst Du dran "rumschrauben". Der Compiler kennt noch die Option -lx, mit der Optionen an den Linker weitergereicht werden, in diesem Fall die Option x.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
08.05.2003, 21:05 Uhr
George3D



Hi Hans,

das mit dem "Herumschrauben" klappt irgendwie nicht. Der Context-Editor erlaubt nur den Aufruf des Compilers, der dann wohl die Datei bcc32.cfg ausliest, um zu erfahren woher er seine Header-Dateien beziehen soll. Dort habe ich auch die Zeile mit der Option -L eingesetzt, was wohl den Linker startet und ihm eigentlich die nötigen Informationen für die Lib-Dateien übergeben müsste.
Außerdem gibt es (für den Linker) eine Datei ilink32.cfg, in der nochmals die Verzeichnisse für die originalen Borland- wie auch die neuen (eigenen) Lib-Dateien stehen.
Somit müssten doch Compiler und Linker genug Informationen haben? (Und für alle Fälle habe ich die neue Lib-Datei noch ins Borland\Lib-Verzeichnis kopiert.

Oder sollte ich eine Batch-Datei schreiben, in der Compiler und Linker aufgerufen werden? Oder gibt es eine mak-Datei oder sowas?

(Hab bisher nur mit CBuilder+Delphi programmiert...)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
08.05.2003, 21:44 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Der Linker weiß schon, WO die LIB-Dateien stehen, sonst käme eine andere Fehlermeldung. Er weiß nur nicht, WELCHE LIBs er einbinden muß. Und das muß irgendwo im Editor einstellbar sein, sonst würde ich den Editor wechseln ;-)
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
08.05.2003, 22:21 Uhr
Hans
Library Walker
(Operator)


Hi George,
habe jetzt noch mal die Helpfiles durchstöbert, und bin auf folgendes gestossen: Der Linker kennt noch die Option /n, die leider in der englischsprachigen Helpdatei nicht genannt wird, die dem Paket beiliegt, das Borland frei zur verfügung stellt.
Ich hab die Sache noch nicht so 100%ig kapiert, aber es scheint mir so, das der Linker standardmässig nur die von Borland mitgelieferten Bibliotheken benutzt. Mit der Option /n kann man ihn anweisen, auch andere Bibliotheken zu verwenden, die in der vom Compiler erzeugten obj-Datei genannt sind.
Also schreib in der Konfigurationsdatei einfach mal die Option /n mit herein, und siehe nach, was passiert. Ich vermute, das er dann Deine zusätzlichen Bibliotheken verwendet. Wenn nicht, dann weis ich auch nicht mehr weiter.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
09.05.2003, 19:09 Uhr
George3D



Danke für die Tipps!

Nach einigem Herumprobieren ist es mir gelungen, im Editor die Parameterliste zu finden, an die ich meine neue lib-Datei anhängen konnte.

Und nun tun sowohl Compiler als auch Linker klaglos ihre Arbeit.
Man muss also wirklich neue Libraries explizit anmelden.

(Beim Versuch, das ganze laufen zu lassen, meldet sich zwar immerzu ein Fenster "Diese Anwendung wir wegen eines ungültigen Vorgangs geschlossen" ..., aber das krieg ich hoffentlich auch noch hin ...)

George
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: