Nerviges Problem (neuauflage, gelöst)



  • Neuauflage beginnt beim 5ten Post

    Auflösung im letzten Post

    also ich hab für mein Programm eine Lib angelegt, mit dem Programmkern, da drüber hab ich dann eine Anwendung gebaut ... bisher hab ich immer die compilte lib mit in das Projekt geschoben .... aber wenn cih von debug zu release wechsle muss ich auch die lib wechseln, weil debug und release in getrennten ordnern liegen ... lässt sich dasa nicht dynamisch regeln ?

    ich hab im debugbuild-modus des programms dem linker explizit als bibliotheks-suchpfad und auch als Objektsuchpfad den debug ordner des lib ordner gegeben aber der ist irgendwie zu blöd die referenzen zu finden bzw. die lib an sich zu finden ... (es kommen halt undefined reference blabla zu klassen die in der lib sind)

    bitte geht das nicht "automatisch" ?

    EDIT kann auchn sein das es daran liegt das ich die projekte und projektgruppen grad neu konstruiert habe, aber der findet auch die blbiotheken nicht die ich in der programmbibliothek eingebunden habe O_o vorher ging das meine ich



  • Hallo,

    Welchen Builder hast du denn?
    Beim 2007er Builder besteht das Problem darin, dass er im Makefile (*.cbproj) Pfade mit abspeichert. Du mußt da mit einem Texteditor reingehen und und den Pfad vor der lib rauslöschen. Wenn du dann den korrekten Suchpfad eingestellt hast geht das auch.



  • BDS 2k6 mein fehler vergessen
    meinst du ich soll die lib einbinden aber den pfad löschen oder wie jetzt Q_Q

    nochmal kurz im detail
    ich habe

    ProgLib.lib

    und

    Prog.exe

    in Progexe verwende ich teile der lib, als suchpfad im linker und compiler hab ich allgemein einstellung nud den pfad zum proglib gegeben im release proglib\release_build und dito im debug mit proglib\debug_build

    die lib selber habe ich NICHT in dem prog.exe projekt



  • Vielleicht geht es da ja genau so.
    Den 2006er hatte ich nur kurz drauf, der hatte mir aber viel zu viele Bugs. Der 2007er ist viel besser.



  • ich kanns mir leider net aussuchen :p

    wir haben hier atm scheinbar nur eine lizenz für den codegear



  • jetzt kommt schon wieder das Problem weshalb ich die Projekte alle neu gemacht habe ...

    [Linker Fehler] Error: Fehler bei Verarbeitung von Modul C:\(...)

    das ganze mal 4 ....

    die pfade sind alle gesetzt, die bibliotheken richtig compiliert und funktionieren auch bei einem anderen Programm nur eben bei DIESEM einen nicht ... ich verzweifle hier schon seit tagen an demn problem ....

    der fehler weist auf dateien einer Bibliothek hin, die erst kürzlich ergänzt wurden ... die konstruktion ist ungefähr so Lib 1 (die mit den modulen) wird verwendet in Lib 2 , in ProgLib werden Lib 1 als auch Lib 2 verwendet und im Prog wird Lib 3 verwendet (u.a. ein paar sachen aus lib 1 und lib 2 aber genau DIE sachen die angezeigt werden eben nicht)

    EDIT Die Copilereinstellungen sind soweit identisch ... daran liegt es auch nicht (auch nachdem ichs nochmal alles neu "erzeugt" habe)

    die "alten" libs kann cih nciht neu erstellen, da sie über CVS laufen und eine veränderung bedeuten würde das ALLE anderen programm neu übersetzt werden müssten Q_Q



  • Hast du die libs in den libs mit eingebunden oder alle nur im Hauptprogramm?
    Wie heißt der Fehler genau?



  • zu 2tens: der fehler heisst GENAU so nur den dateinamen und pfad hab cih weggelassen ....

    zu 1tens: sieht so aus als wäre das problem gelöst, es war wirklich so das lib 1 in lib 2 einkompiliert war und deshalb irgendwie mist gebaut hat (ich hab u.a. die projektdateien von querlinks bereinigt) ... aber es war nicht mine schuld Xd irgendwer hat die lib da reingeknallt und so ins CVS geschoben >_< naja Problem gelöst, alle sind glücklich ... nur Borland nervt mich weils seine FEhler nicht ausreichend beschreiben kann ... (jetzt hab ich noch ne4te lib einzubinden und diesen XML fehler von damals zu lösen dann kann cih schauen obs wieder geht)

    PS der fehler lautet

    [Linker Fehler] Error: Ungelöste externe '__fastcall Xmldoc::TXMLNode::CreateCollection(System::TMetaClass *, const _GUID&, const System::WideString, const System::WideString)' referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\DEBUG\VCLE.LIB|_t_Xmldo
    [Linker Fehler] Error: Ungelöste externe '__fastcall Xmldoc::TXMLNode::FindHostedNode(System::TMetaClass *)' referenziert von C:\PROGRAMME\BORLAND\BDS\4.0\LIB\DEBUG\VCLE.LIB|_t_Xmldo

    hat wer adhoc die lösung parat, hab vergessen wie ich es gelöst hatte >_<

    Lösung:
    man muss aus dem BDS\lib\release Ordner die xmlrtl.lib mit einlinken


Log in to reply