PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : KDevelop überfordert - DE/Docu für automake,autoconf usw.



Licht
09-01-2003, 15:59
Hi

Ich habe hier Probleme mit KDevelop. Ich überfordere es so langsam.
Zur Zeit habe ich ein Projekt mit ca. 300 Classen ( pro. Classe ein h und eine cpp Datei ) Dazu kommen noch ca. 260 Text Dateien die über KDevelop verwaltet werden. Füge ich nun eine neue Classe dazu und dauert das Ewig bis sich KDevelop Syncronisiert hat. :(

Ein weiteres Problem sind die Compiler Einstellungen. Das ist echt ein Krampf. Das kommt auch daher das ich eine vielleicht ungewöhnliche Verzeichniss Struktur habe so das KDevelop in verbindung mit den GCC nur dann zur Mitarbeit zu bewegen ist wenn jedes Verzeichniss eine eigne Dynamische Lib wird.

Jetzt zu meiner Frage:

1:
Gibt es Deutsche Dokumentation über automake, autoconf usw. ? Ich komme einfach nicht mit den Programmen zurecht. :confused:
Bin bald so weit, schnell ein eigenes Programm zu schreiben was mir die makefiles erstellt ( Das macht dann wenigstens das was ich will ).

2:
Gibt es eine möglichkeit KDevelop zu sagen das eine cpp Datei NICHT mit QT Config und anderen Gedönse bearbeitet werden soll sondern nur compeliert werden soll? Das ganze Gedönse brauchen einige Classen nicht. Aber immer wird volles Rohr auf die Dateien losgegangen mit allen was KDevelop zu bieten hat. :mad:

Licht

TheDodger
09-01-2003, 17:08
Hast du dir mal qmake angeschaut?
Wenn du mit QT programmieren solltest, dann ist das schon ne feine Sache.
Eine Projektdatei, die du auch noch splitten kannst und einzelne Sachen inkluden ... Fast wie eine kleine Scriptsprache halt :)

Wer einmal damit gearbeitet hat, möchte es nicht missen.
Ich arbeite auch lieber damit, als mit KDevelop ... das einzig schon an KD ist die integrierte Klassen- & Projektverwaltung ... aber mit kate behält man auch schon etwas Überblick.

BTW. Was für ein Monster codest du eigentlich? :)

anda_skoa
09-01-2003, 17:14
Original geschrieben von TheDodger

Wer einmal damit gearbeitet hat, möchte es nicht missen.
Ich arbeite auch lieber damit, als mit KDevelop ... das einzig schon an KD ist die integrierte Klassen- & Projektverwaltung ... aber mit kate behält man auch schon etwas Überblick.


Schließt sich ja nicht aus.
Wenn du unter KDevelop als Projekttyp eigenes Projekt wählst, müssen nur Makefiles vorhanden sein.

Man hat halt dann kein automake/autoconf.

Ciao,
_

anda_skoa
09-01-2003, 17:17
Original geschrieben von Licht

Ein weiteres Problem sind die Compiler Einstellungen. Das ist echt ein Krampf. Das kommt auch daher das ich eine vielleicht ungewöhnliche Verzeichniss Struktur habe so das KDevelop in verbindung mit den GCC nur dann zur Mitarbeit zu bewegen ist wenn jedes Verzeichniss eine eigne Dynamische Lib wird.


Es geht auch mit statischen libs.
Das macht KDevelop doch eigentlich automatisch, wenn du ein Unterverzeichnis hinzufügst, oder?
Hab das schon lange nicht mehr gemacht, ich editiere die Makefile.am immer händisch und hab das Genierien abgeschaltet.



Gibt es eine möglichkeit KDevelop zu sagen das eine cpp Datei NICHT mit QT Config und anderen Gedönse bearbeitet werden soll sondern nur compeliert werden soll? Das ganze Gedönse brauchen einige Classen nicht. Aber immer wird volles Rohr auf die Dateien losgegangen mit allen was KDevelop zu bieten hat. :mad:


Das versteh ich jetzt nicht, was ist QT Config?
Klassen, die kein Q_OBJECT Macro enthalten, werden nur kompiliert.
moc wird nur für Klassen mit Q_OBJECT Macro aufgerufen.

Du meinst also wahrscheinlich was anderes, oder?

Ciao,
_

Licht
09-01-2003, 17:37
BTW. Was für ein Monster codest du eigentlich?

Noch nichts besonders. Fange ja gerade erst an. :)

Ok qmake schaue ich mal nach, vielleicht ist es das was ich suche. QT ( KDE ) wollte ich als Default Oberfläche benutzen. Da ich aber zuerst die Datenclassen mache brauche ich da noch nichts von.

KDevelop hat für mich den großen vorteil der Textexpansion. Feine Sache. Besonders weil meine Classennamen sehr lang sind.

Es geht auch mit statischen libs.
Das macht KDevelop doch eigentlich automatisch, wenn du ein Unterverzeichnis hinzufügst, oder?


Ja und nein. KDevelop kann auch statisch. Da bekomme ich aber Probleme mit den GCC. Die verschiedenen Verzeichnisse sind nur zur übersichtlichkeit da. Die Classen darin sind aber zum großen Teil verknüpft mit anderen Classen aus anderen Verzeichnissen und dann klappt das Statische Linken nicht mehr.
( Über Sinn oder Unsinn meiner Verzeichniss Strategie bitte keine Kommentare, dazu müsste man mehr einzelheiten kennen )

Du meinst also wahrscheinlich was anderes, oder?


Musste ich noch mal nachschauen. Nach meiner vorstellung müsste es beim Compelieren so aussehen:
c++ -o erstedatei.cpp -O0 -g
c++ -o zweitedatei.cpp -O0 -g
c++ -o drittedatei.cpp -O0 -g

usw.

Aber bei KDevelop wird noch ganz viel andere Sachen gemacht. Da gibt es zu jeder Zeile c++ noch min. 5 - 7 Zeilen anderes gedönes. ( Allein die immer mitgeführten -L../QT0815 -L../QTSOWISO usw. nerven ) Habe mir das aber auch noch nicht richtig angeschaut. ( Keine Lust und keine Zeit )

Licht

PS: Gibt es denn nun Deutsche Beschreibungen für automake und autoconf. Möchte ja nicht dumm sterben. ;)

EDIT1: Qoute überprüfen.

anda_skoa
09-01-2003, 19:08
Original geschrieben von Licht

Ja und nein. KDevelop kann auch statisch. Da bekomme ich aber Probleme mit den GCC. Die verschiedenen Verzeichnisse sind nur zur übersichtlichkeit da. Die Classen darin sind aber zum großen Teil verknüpft mit anderen Classen aus anderen Verzeichnissen und dann klappt das Statische Linken nicht mehr.
( Über Sinn oder Unsinn meiner Verzeichniss Strategie bitte keine Kommentare, dazu müsste man mehr einzelheiten kennen )


Hmm, komisch, ich dachte das ginge.
War vielleicht bei mit die Situation anders, oder ich hab in meinen Makefile.am was spezielles drinstehn.



Aber bei KDevelop wird noch ganz viel andere Sachen gemacht. Da gibt es zu jeder Zeile c++ noch min. 5 - 7 Zeilen anderes gedönes. ( Allein die immer mitgeführten -L../QT0815 -L../QTSOWISO usw. nerven ) Habe mir das aber auch noch nicht richtig angeschaut. ( Keine Lust und keine Zeit )


Das macht libtool, das den eigenltichen Compiler aufruft.
Es stellt sicher, das alle nötigen Flags gesetzt sind, abbhängig von der Plattform.
Meisten hat es da mehr als nötig, aber da es nur Flags für den Compiler oder Linker sind, stört es ansich nicht.
(Bis auf das es mehr Platz beim Output braucht :))

Ciao,
_

tuxipuxi
09-01-2003, 19:57
lol mal OT:

eine "kleine" sache mit 300 klassen?
soviel haben gerade mal grosse projekte :D.

Licht
09-01-2003, 21:19
anda_skoa:

Versuch mal folgendes. Ein Root Verzeichniss (R) mit zwei Verzeichnissen (A & B). In R main und eine Basisclasse R. In A eine Classe A geerbt von R und benutzt in einer Funktion die Classe B. Classe B in Verzeichnis B erbt von R und benutzt die Classe A.
Mit den GCC geht es nicht. Da mossert er beim Linken das er Funktionen nicht auflösen kann.Weil er eben zuerst Lib A bearbeiten will und deswegen Lib B nicht kennt. Ist leider so.
Zweiter vorteil von Dynamischen Libs ist die kürzere Linker Zeit.
Nachteil... viel Plattenplatz. Weil er ganz viele Debug Infos mehrfach halten muss.

Noch mal zu den Falgs. Wieso mehr hinschreiben wenn man nicht mehr braucht. Macht alles übersichtlicher. :P

Licht

Nachtrag: Wo bekomme ich qmake her? Bei Trolltech ist nichts zum Downloaden.

jwebworks
10-01-2003, 07:33
qmake ist bei qt dabei.