DLL mit VCL aber ohne Laufzeitpackages?



  • Hallo zusammen,

    für ein Programm hab ich mir eine DLL erstellt, die die VCL verwendet. Aber wenn ich nun in den Projektoptionen die Laufzeitpackages deaktiviere, dann kommen Linkerfehler:

    [Linker Fehler] Error: Ungelöste externe 'Sysutils::EDivByZero::' referenziert von D:\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
    [Linker Fehler] Error: Ungelöste externe '__fastcall Sysutils::Exception::Exception(const System::AnsiString)' referenziert von D:\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
    [Linker Fehler] Error: Ungelöste externe 'Sysutils::ERangeError::' referenziert von D:\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
    [Linker Fehler] Error: Ungelöste externe 'Sysutils::EIntOverflow::' referenziert von D:\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
    [Linker Fehler] Error: Ungelöste externe 'Sysutils::EInvalidOp::' referenziert von D:\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
    [Linker Fehler] Error: Ungelöste externe 'Sysutils::EZeroDivide::' referenziert von D:\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
    [Linker Fehler] Error: Ungelöste externe 'Sysutils::EOverflow::' referenziert von D:\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
    [Linker Fehler] Error: Ungelöste externe 'Sysutils::EUnderflow::' referenziert von D:\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
    [Linker Fehler] Error: Ungelöste externe 'Sysutils::EAccessViolation::' referenziert von D:\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
    [Linker Fehler] Error: Ungelöste externe 'Sysutils::EPrivilege::' referenziert von D:\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
    [Linker Fehler] Error: Ungelöste externe 'Sysutils::EControlC::' referenziert von D:\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
    [Linker Fehler] Error: Ungelöste externe 'Sysutils::EStackOverflow::' referenziert von D:\BORLAND\BDS\4.0\LIB\CP32MT.LIB|xx
    [Linker Fehler] Error: Ungelöste externe 'Typinfo::BooleanIdents' referenziert von D:\BORLAND\BDS\4.0\LIB\RELEASE\VCLE.LIB|vclinit
    [Linker Fehler] Error: Ungelöste externe 'Typinfo::DotSep' referenziert von D:\BORLAND\BDS\4.0\LIB\RELEASE\VCLE.LIB|vclinit

    Was kann ich dagegen tun?

    Edit: rtl.lib und vcl.lib müssen noch zum Projekt hinzugefügt werden. Warum auch immer...

    greetz KN4CK3R



  • Das kann passieren, wenn in deinem Projekt kein Verweis mehr auf einen VCL-Header vorkommt.



  • audacia|off schrieb:

    Das kann passieren, wenn in deinem Projekt kein Verweis mehr auf einen VCL-Header vorkommt.

    Problem tritt aber auch auf, wenn ich ein frisches DLL Projekt erstelle und das dann erstellen möchte. Da ist ja dann nur das #include <vcl.h> und die WinMain(). Auch dann treten die Fehler auf. Wenn man die 2 Libs einbindet, dann funktionierts aber.

    greetz KN4CK3R


Anmelden zum Antworten