Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi staische C++ Library zu Delphi Programm linken (https://www.delphipraxis.net/49048-staische-c-library-zu-delphi-programm-linken.html)

maynard 4. Jul 2005 21:50


staische C++ Library zu Delphi Programm linken
 
Tach ...

Ich hab eine Statische Lib in C++ geschrieben und da das ganze eine recht umfangreiche Sache ist. hab ich nicht unbedingt Elan, dass ganze noch mal in Delphi zu implementieren. Die mir wichtigen Typen in Delphi abzubilden, wär kein Problem, aber kann ich, und wenn ja wie, diese Lib überhaupt zu Delphi - Source Linken?

thx

Olli 4. Jul 2005 21:52

Re: staische C++ Library zu Delphi Programm linken
 
Nein, LIBs kannst du nicht mit Delphi einkompilieren - außerdem unterscheidet sich deren Format je nach C++-Compiler!
Compilier' es halt als DLL und mache eine Unit um auf die Funktionen zuzugreifen!

NicoDE 4. Jul 2005 22:00

Re: staische C++ Library zu Delphi Programm linken
 
Der OMF-Linker ist einer der einfachsten die es gibt (im Vergleich zur Verbreitung). Er verteht auch nur C (kein C++).
Da ich davon ausgehe, dass ein anderer Linker als BCB verwendet wurde (und die Lib somit höchstwahrscheinlich im COFF-Format vorliegt), kann es beliebig kompliziert werden. Ohne kommerzielle Tools (Digital Mars COFF2OFF) kenne ich keinen Weg, sie ins OMF-Format zu konvertieren. Dann bleibt das Problem, dass das OMF-Resultat meist zu kompliziert für den Delphi-Linker ist und vereinfacht werden muss (OMF2D), was nicht gerade trivial ist...

Ich würde also eher dazu raten:
DLL mit stdcall C-Interface.

maynard 4. Jul 2005 22:06

Re: staische C++ Library zu Delphi Programm linken
 
Tach...

Danke für die schnellen Antworten ...

@NicoDE ja: gcc / mingw 3.4.4 zugehörige Linker

das Problem liegt eben darin, dass auch Klasse exportiert werden müssten .. aber das geht eben nicht! Also wollte ich irgendwie versuchen das als statische Lib dranzuhängen .. ansonsten muss ich ja ohnehin die Klassen nochmal in Delphi implementieren, anstatt einfach nochmal Interfaces zu deklarieren. Scheiße, da kommt wohl nochmal einiges an Arbeit auf mich zu!

Olli 4. Jul 2005 22:14

Re: staische C++ Library zu Delphi Programm linken
 
Ich kenne ein Tool um aus (VC-)DLLs LIBs zu machen. Umgekehrt kenne ich noch nicht.

Ansonsten könntest du doch relativ einfach über COM-Objecte und COM-Interfaces arbeiten, wenn du eh vorhast es zwischen verschiedenen Sprachen zu verteilen.

NicoDE 4. Jul 2005 22:18

Re: staische C++ Library zu Delphi Programm linken
 
Zitat:

Zitat von maynard
gcc / mingw 3.4.4 zugehörige Linker

Gut für Dich, schlecht für Delphi ;)

Zitat:

Zitat von maynard
das Problem liegt eben darin, dass auch Klasse exportiert werden müssten ..

Tcha, wie Du weißt geht das in den seltesten Fällen...
...ich schick Dir mal eine PM...

maynard 4. Jul 2005 22:44

Re: staische C++ Library zu Delphi Programm linken
 
Tach...

Zitat:

Zitat von Olli
Ansonsten könntest du doch relativ einfach über COM-Objecte und COM-Interfaces arbeiten, wenn du eh vorhast es zwischen verschiedenen Sprachen zu verteilen.

Das ganze System wird ausschließlich in C++ geschrieben ... ich brauche nur kurzfristig einer kleine GUI um ein paar Tests durchzuführen. Da ich in QT / wxWidgets noch nicht so fit bin und es mit QT unter Windows ohnehin Lizensprobleme gibt, wollte ich zum Testen eben mal Delphi für die GUI "missbrauchen". Bei der finalen Version wird dann auch die GUI mit einer dieser C++ Bibliotheken entwickelt!

@NicoDE

Danke, das wäre mehr als nett. Auch wenn es übertrieben erscheint für Tests solchen Aufwand zu betrieben, aber die nächsten 2 Monate wäre so eine Lösung lebensnotwendig und wohl nicht mit dem Aufwand zu vergleichen, eine GUI mit eine Bibliothek zu entwickeln, die ich schlecht bis noch gar nicht kenne!

thx

Ich muss an dieser Stelle mal ein riesiges Lob aussprechen: in diesem Forum wurde mir innerhalb einer halben Stunde mehr als in einer Woche auf dem Developia - Board geholfen ... hier gibts noch echte Fachkundige ... DANKE!

Olli 4. Jul 2005 23:37

Re: staische C++ Library zu Delphi Programm linken
 
Also in wxWidgets arbeitet man sich superschnell rein. Ich denke, daß du dir da keine Gedanken machen solltest. Subscribe bei den Mailinglisten und lies dir die Doku durch usw.

Viel Erfolg!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz