![]() |
Statisches linken einer C-Lib in ein Delphi Projekt
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
gleich zum Thema, ich sitze schon seit zwei Tagen an einem Problem, und zwar versuche ich ![]() Ich hatte mir das SQLite Projekt als Vorlage genommen, nur bekomme ich beim erstellen jedes mal eine neue Fehlermeldung über eine externe Ref. die nicht gefunden wurde (E2065 Unsatisfied forward or external declaration: ....). Die Obj-Files hole ich mir per tlib.exe aus der cw32.lib wie es in dem SQLite HowTo beschrieben wurde, nur nimmt das irgendwie kein Ende, und es kommen immer wieder Rekursionen vor. Gibt es da irgendeine elegante Lösung für? Ich habe das Projekt mal mit angehängt falls es sich jemand anschauen will. Viele Grüße Daniel |
Re: Statisches linken einer C-Lib in ein Delphi Projekt
Da hast du dir ja ein riesen Projekt aufgehalst :)
Die Fehlermeldung kommt daher, dass du Prozeduren und/oder Funktionen mit external definiert hast, die der Linker jedoch nicht in den obj-Dateien finden kann. D.h. es gibt keinen Code dafür, nur die Deklaration. Ich vermute du hast die obj Dateien nicht vollständig erzeugt. Suche mal nach Rudy Velthuis. Er erklärt auf seiner Seite, wie das funktioniert mit Obj-Dateien einbinden in Delphi. |
Re: Statisches linken einer C-Lib in ein Delphi Projekt
Naja das Bezieht sich aber eher auf die C standard Funktionen, er meckert ja keine exports oder irgendwas von Lua an.
|
Re: Statisches linken einer C-Lib in ein Delphi Projekt
Moin!
Aber die schon von dir eingebundenen OBJ Dateien benutzen bzw. referenzieren diese Funktionen und finde diese entsprechend nicht, da diese nicht in deinen OBJ vorhanden sind. MfG Muetze1 |
Re: Statisches linken einer C-Lib in ein Delphi Projekt
Es ist dasselbe wie :
Delphi-Quellcode:
unit xy;
interface procedure Bla; implementation end. |
Re: Statisches linken einer C-Lib in ein Delphi Projekt
Zitat:
Gibt es da vielleicht eine andere Compiler-Option von der ich nichts Weiß um so etwas mit einzubinden also für die Lua-Lib? |
Re: Statisches linken einer C-Lib in ein Delphi Projekt
Dann musst du die Deklaration entfernen, die du nicht in den obj Dateien hast.
|
Re: Statisches linken einer C-Lib in ein Delphi Projekt
Also wenn ich das richtig sehe verwendet die Lua lib folgende Standard-Calls die nicht aufgelößt werden können:
Zitat:
|
Re: Statisches linken einer C-Lib in ein Delphi Projekt
Code:
kommen aus windows-bibliotheken
GetModuleFileNameA
GetLastError FormatMessageA FreeLibrary LoadLibraryA GetProcAddress die anderen solltest du aus msvcrt.dll importieren können:
Delphi-Quellcode:
function _strlen(const Str: PChar): Cardinal; cdecl;
external 'msvcrt.dll' name 'strlen'; |
Re: Statisches linken einer C-Lib in ein Delphi Projekt
was hast du eigentlich genau vor? willst du ohne jegliche DLLs auskommen oder willst du nur auf die DLL-Funktionen zugreifen können?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz