Libs und dlls - portierlösung

Scorcher24

Scorcher24

AMDGuru
Hi Folks !!
Ich programmiere derzeit eine kleine Bibliothek unter Windows die die Standard-AD&D-Regeln sowie evtl. einige GrafikFunktionen liefert. Der Name: rpglib 2004
Mein Problem ist, dass es irre schwer ist (oder ich zu blöd bin) doku dazu zu finden welche makros oder befehle nötig sind damit eben das projekt unter kdevelop (vorzugsweise) als DLL kompiliert wird. Unter MSVC6 reicht dieses Makro:
Code:
#define EXP __declspec (dllexport)

Wenn jemand zu libs mit Linux Infos hat, immer her damit. Was ich auch nicht verstehe warum kdevelop dazu kein Template bietet..... das einzige wäre kernelmodul aber das is overkill :rolleyes: :D :tongue:

rya.
Scorcher24

p.s.: Ach ja wenn es interesse an mitarbeit gibt, bitte melden:
**********

und noch ein paar infos:
map handling durch eigene bibliotheken - editor in planung (WYSIWYG)
spieler klasse mit inventory verwaltung und schadensberechnung
standard enemy klassen.
npc klassen und funktionen die irre einfaches handling ermöglichen
uvm. API Documentation mit DoxyGen.
 
Also kdevelop benutze ich generell nicht, weil das eher mehr nervt, als es hilft.

Wenn du manuell compilierst, musst du einfach -shared beim gcc hinzufuegen und schon hast du eine Shared Library (DLL unter Linux).

Bsp:
Code:
gcc -c -o test.o test.c
gcc -shared -o libtest.so test.o

Ich hoffe wir haben einen Kdeveloper hier, der dir das mit Kdevelop erklären kann. ;)

EDIT:
Es gibt auch ein Program Library HOWTO: http://www.tldp.org/HOWTO/Program-Library-HOWTO/ ;)
 
Thanks für deine Antwort. Ich habe entdeckt dass man ja beim KDevelop noch extra eigene Parameter an den Compiler übergeben kann. Schade finde ich nur, dass KDevelop kein template bietet. Ich hab das allerdings mal per mail ans KDE Team als Vorschlag geschickt. Aber dein Tipp geht und ein SH script tuts auch. :)

Aber wieso nervt dich KDevelop ?? Ich finde es ganz angenehm. Schade nur dass es den DVCPP nicht für Linux gibt, da bräuchte man nicht tausend Projektdateien....
thx und rya.
Scorcher24
 
Scorcher24 schrieb:
Aber wieso nervt dich KDevelop ?? Ich finde es ganz angenehm. Schade nur dass es den DVCPP nicht für Linux gibt, da bräuchte man nicht tausend Projektdateien....
Die "tausend Projektdateien" sind Standard für die auto-Tools von GNU. Im Prinzip sind die alle dazu da, dass man dein Programm unter fast jeder Plattform compilieren kann.
Du wirst ja den "Dreisatz" ./configure && make && make install kennen. ;)

Naja, was mich an KDevelop, und generell solchen IDEs stört, ist, dass man bestimmte Optionen, die man vom Gebrauch der normalen Consolentools kennt, meistens nicht sofort findet, wenn das überhaupt irgendwo einzustellen ist.
Da schreibe ich meine Dateien lieber per Hand in einem Editor meiner Wahl, da weiß ich, was ich zu tun hab. ;)

Mittlerweile hab ich auch vom standardmäßigen GNU auto-tools und make getrennt, weil es einfach zu viel zu schreiben ist. Ich benutze jetzt für dieses Zwecke Scons (http://www.scons.org/), das sieht ziemlich vielversprechend aus. ;)
 
Ich hab eigentlich mehr gemeint dass man mit einer Cross-Platform IDE und Compiler nicht für jede Plattform immer extra Makefiles anlegen muss. Für was die einzelnen Datein unter Linux sind, weiss ich bereits. Ich geb Dir aber dahingehend recht, dass ein Standard für Makefiles besser wäre. So könnte man jedes Makefile mit jedem Compiler oder Maketool verwenden.
Der Vorteil von KDevelop ist aber auch, dass man zum Beispiel so Dinge wie CVS oder Valgrind nicht auf der Kommandozeile erledigen muss. Bin ich zwar nicht abgeneigt gegen, aber ne TastenKombi ist schon besser.
Ich hab des Scons mal gezogen und Kompiliers grade. Mal angucken. ;)
So far...
rya.
Scorcher24

edit:
Ich hoffe nur der Editor deiner Wahl heisst nicht CAT. :):D
 
Zuletzt bearbeitet:
Scorcher24 schrieb:
Ich hab eigentlich mehr gemeint dass man mit einer Cross-Platform IDE und Compiler nicht für jede Plattform immer extra Makefiles anlegen muss. Für was die einzelnen Datein unter Linux sind, weiss ich bereits. Ich geb Dir aber dahingehend recht, dass ein Standard für Makefiles besser wäre. So könnte man jedes Makefile mit jedem Compiler oder Maketool verwenden.
Das Problem ist ja, dass nicht auf jedem System alle Libs etc. vorhanden sind oder sogar in anderen Pfaden sind. Und irgendwie muss dem User das gesagt werden bzw. die Pfade irgendwie einstellt werden.
Das ist einfach ein Problem, das gelöst werden muss. Die auto-tools von GNU sind ein guter Ansatz, aber meiner Meinung nach ist das Ganze viel zu komplex geworden.

Scorcher24 schrieb:
Der Vorteil von KDevelop ist aber auch, dass man zum Beispiel so Dinge wie CVS oder Valgrind nicht auf der Kommandozeile erledigen muss. Bin ich zwar nicht abgeneigt gegen, aber ne TastenKombi ist schon besser.
Also ich glaub um ein kurzes "cvs update" oder "cvs commit" zu tippen, brauch ich etwa die gleiche Zeit, wie du dir deine Finger verrenkst. (Ironie ;)) :D
Aber CVS ist auch schon lange "out". Es hat einfach zu viele Limitationen, z.B. kann man keine Dateien umbenennen und die Revisionsnummern sind dateispezifisch.
Ich benutze für alle meine Projekte Subversion. Das hat eine ähnliche Befehle wie cvs (svn commit, svn update etc.) und hebt die meisten Limitationen auf. Ausserdem werden die Änderungen endlich in einer Datenbank gespeichert und nicht in mehreren Datei im RCS-Syntax. ;)
Und ich glaub KDevelop hat kein Subversion-Support.
Dann gäbe es noch GNU Arch, dass auch einige Neuerung, wie z.B. Repositories auf sehr vielen Servertypen (FTP, HTTP etc.). Und ich glaube das hat KDevelop sicher nicht. :D
Was ich damit sagen will ist, dass ich so die Freiheit habe, zu benutzen, was ich will, und nicht was die Software unterstützt. ;)

Ist aber ne Glaubensfrage. Das ist meine Meinung. ;)

Scorcher24 schrieb:
Ich hoffe nur der Editor deiner Wahl heisst nicht CAT. :):D
Nene. ;)
Ich benutze entweder vim oder jedit.
 
Zurück
Oben