Announcement

Collapse
No announcement yet.

fremde DLL linken

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • fremde DLL linken

    Hallo,<BR>
    ich habe die ODBC32.dll durch Verwendung von impdef, Editieren und implib (ODBC32.lib erstellt, THX to Yves Drexlmeier ) erfolgreich mit einem Testprogramm binden können, funktioniert prima. Jetzt habe ich den Code und die ODBC32.lib auf dem gleichen Rechner in ein größeres Projekt übernommen, die Projekteinstellungen bzgl der Linkerei sind genau so wie in dem Testprogramm, nur leider bekomme ich da die SQL-Aufrufe als unresolved externals angezeigt, und zwar ohne Unterstrich am Anfang (was ja auch stimmt, siehe implib etc). Ich verstehe einfach nicht warum das im einen Projekt funktioniert, im anderen nicht ... irgendjemand eine Idee??
    <BR>
    Gruß Armin

  • #2
    Hi Armin,

    schau noch mal über ALLE Projektoptionen drüber Verzeichnisse u.ä.

    Vielleicht hilfts

    Gruss Yve

    Comment


    • #3
      Hi Yves,<BR>
      danke für den Tipp, aber die Verzeichnisse sind in den Pfaden (Lib und Include) - abgesehen vom Projektpfad selbst - gleich. Die ODBC32.dll und .lib ist in beiden Verzeichnissen direkt beim Projekt vorhanden. Die anderen Optionen sind auch gleich. Ich hoffe ich hab' keine Tomaten auf den Augen ;-). Das komische ist, wenn ich die odbc32.lib aus dem Projekt rausnehme, sollten ja wieder die SQL-Dinger mit Unterstrich am Anfang in der "unresolved-Liste" stehen, aber die Unterstriche bleiben trotzdem weg. In dem Testprogramm - hab das da auch mal ausprobiert - werden die Unterstriche dann aber angefügt und entsprechende Linker-Meldungen kommen. Also irgendwo ist in dem Problem-Projekt was strubbelig und der C++ Builder merkt sich was was er nicht soll, und da könnte auch irgendwas dabei sein was das ganze beim Linken den Bach 'runter gehen läßt.<BR>Schwitz .. na ich such mal weiter<BR>
      Danke einstweilen - Armi

      Comment


      • #4
        Hallo,<BR>
        nur zur Info, hab' das Problem mit einer .def-Datei mit folgendem Inhalt gelöst:
        <PRE>
        imports
        SQLAllocEnv = odbc32.SQLAllocEnv
        SQLSetEnvAttr = odbc32.SQLSetEnvAttr
        SQLDriverConnect = odbc32.SQLDriverConnect
        SQLAllocHandle = odbc32.SQLAllocHandle
        SQLExecDirect = odbc32.SQLExecDirect
        SQLBindCol = odbc32.SQLBindCol
        SQLFetch = odbc32.SQLFetch
        SQLFreeStmt = odbc32.SQLFreeStmt
        SQLDisconnect = odbc32.SQLDisconnect
        SQLFreeHandle = odbc32.SQLFreeHandle
        </PRE>
        verstehe zwar nicht warum das in dem Testprojekt nicht nötig war, ist aber auch egal, hauptsache es funktioniert...<BR>
        Gruß Armi

        Comment

        Working...
        X