Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Bibliotheken

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
08.06.2005, 00:23 Uhr
Hans
Library Walker
(Operator)


Hi,

weis zufällig jemand, wie die *.lib bzw. c0xxx.obj der Mathebibliothek heisst, so das ich sie bei den linker-parametern in der makedatei dazu schreiben kann?
Bin in der Doku noch nicht fündig geworden, bzw. steht es in der Onlinehilfe der CommandLineTools wahrscheinlich gar nicht drin.

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
001
08.06.2005, 00:57 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


meinst du als paramter -lm beim g++?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.06.2005, 01:21 Uhr
Hans
Library Walker
(Operator)


@Windalf:
sag mal, welchen Compiler kann ich eigentlich nur meinen, wenn ich in diesem Forum frage?
(Jetzt ist wohl nicht mehr Deine Zeit, oder? )

Hans

P.S. die Zeile in der makedatei sieht so aus:

Code:
ilink32 /aa /C /Gz /Rr /w /x w1.obj c0w32.obj,w1.exe,,cw32.lib import32.lib *,,w1.res


An die Stelle, wo der * steht, muss noch was hin, das den linker dazu bewegt, auch die mathe-routinen mit einzubinden, und nicht mit dieser Fehlermeldung:

Code:
Error: Unresolved external '_wurzel' referenced from D:\BORLAND\WORK\W1.OBJ


auszusteigen. (Hinter wurzel verbirgt sich ein Aufruf von sqrt() aus math.h )
--
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
003
08.06.2005, 02:50 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Hans
ups peinlich... das liegt daran das ich nie auf die Foren achte und immer nur auf die aktuellen Threads gucke (weil ich wenn ich mich schon nicht in dem Thema auskenne dann zumindest ne dumme Antwort dazu beisteuern kann )

War wohl die Uhrzeit die mich vergessen lies auf die Idee zu kommen in welchem Forum du gepostet hast


wenn du die wurzel ganz drigend brauchst... in der rätselecke ist eine implementierung für e^x und eine für ln(x)... damit kannst du dir notfalls ne behelfsmäßige wurzel basteln...

wurzel(x) = e^(0.5*ln(x))
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 08.06.2005 um 02:52 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.06.2005, 08:37 Uhr
ao

(Operator)



Zitat von Windalf:
... damit kannst du dir notfalls ne behelfsmäßige wurzel basteln...

wurzel(x) = e^(0.5*ln(x))

Und aus welcher Bibliothek bindet er die e- und ln-Funktionen ein, du Nase? Das war doch die Frage.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.06.2005, 18:49 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@ao
Hehe diesemal bist du die "Nase"... hab doch geschrieben das kann er aus der Rätselecke nehmen...
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 08.06.2005 um 18:50 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
08.06.2005, 19:48 Uhr
Hans
Library Walker
(Operator)



Zitat von Windalf:

(weil ich wenn ich mich schon nicht in dem Thema auskenne dann zumindest ne dumme Antwort dazu beisteuern kann )


Das war ja klar.

Zitat:

wenn du die wurzel ganz drigend brauchst... in der rätselecke ist eine implementierung für e^x und eine für ln(x)...


Ist ja schön, aber wie ao schon angemerkt hat, brauche ich dazu auch funktionen aus der mathe-library, und genau darum geht es ja: Wie überzeuge ich den linker in der make-datei davon, die mathe-lib mit einzubinden?
Der Algo zum berechnen der Wurzel ist dabei egal, denn wie ich oben schon geschrieben hab, verbirgt sich hinter wurzel() ein Aufruf von sqrt(). Das Ding sieht so aus: (nur, falls es jemand genau wissen will )

C++:
double wurzel(double x)
{
   return sqrt(x);
}


(sowas nennt man "Wrapper", wenn ich mich nicht irre...)

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

Dieser Post wurde am 08.06.2005 um 19:55 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
08.06.2005, 23:16 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Ist ja schön, aber wie ao schon angemerkt hat, brauche ich dazu auch funktionen aus der mathe-library


Who the f**k is ao?

Kann dein Borland-Compiler ohne Mathelib auch nicht die Grundrechenarten?

C++:
//ja ich weiss ist mit kanonen auf spatzen schiessen aber es geht zumindest erstmal ...

double ln(double x){
    if(x>1.25)return-ln(1/x);
    if(x<0.8)return ln(0.8)+ln(x/0.8);
    double i=1,s=--x,y=x;
    for(;++i<99;s+=y/i)y*=-x;
    return s;
}


double exp(double x){
    double y,rv;
    int i;
    rv=y=1;
    for(i=1;i<99;++i)
        rv+=y*=x/i;
    return rv;
}


double wurzel(double x){return exp(0.5*ln(x));}




Warum versteht mich eigentlich keiner?
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 08.06.2005 um 23:49 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
10.06.2005, 20:54 Uhr
Hans
Library Walker
(Operator)


Hi,

habe den Fehler inzwischen selber gefunden, und das Problem gelöst. Hab mit der Suchfunktion von Windoof die Lib-Dateien nach 'sqrt' durchsucht, um nachzusehen, in welcher lib die Funktion denn jetzt steht. Dabei fand ich heraus, das sie in der 'cw32.lib' (die der linker einbindet) vorhanden ist. Also lag das Problem gar nicht bei einer Mathe-bibliothek, sondern woanders.
Die ominöse Wurzelfunktion, d.h.der Quelltext davon ist in einer anderen Datei definiert ist, und der Fehler war, dass ich diese Datei dem Compiler nicht mit angegeben hatte. Nachdem das geändert war, hatte der Linker nichts mehr zu meckern, das Programm lief ohne Probleme.

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
10.06.2005, 21:02 Uhr
Hans
Library Walker
(Operator)



Zitat von Windalf:

Who the f**k is ao?





Zitat:

Kann dein Borland-Compiler ohne Mathelib auch nicht die Grundrechenarten?


Doch, aber ich hab den Fehler ja schon beschrieben. War also eher meine Unvollkommenheit...


Zitat:


C++:
//ja ich weiss ist mit kanonen auf spatzen schiessen aber es geht zumindest erstmal ...

double ln(double x){
    if(x>1.25)return-ln(1/x);
    if(x<0.8)return ln(0.8)+ln(x/0.8);
    double i=1,s=--x,y=x;
    for(;++i<99;s+=y/i)y*=-x;
    return s;
}


double exp(double x){
    double y,rv;
    int i;
    rv=y=1;
    for(i=1;i<99;++i)
        rv+=y*=x/i;
    return rv;
}

double wurzel(double x){return exp(0.5*ln(x));}




Die guck ich mir bei Gelegenheit mal näher an...


Zitat:

Warum versteht mich eigentlich keiner?

Wenn Du partout nur trollen willst, kann Dir niemand helfen

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

Dieser Post wurde am 10.06.2005 um 21:07 Uhr von Hans editiert.
 
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: