PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IDEs für´s propietäre Programmieren für mehrere Plattformen?



nobody0
21-06-2003, 09:35
In der Firma, in der ich arbeite, werden demnächst PC-Programme C++ geschrieben und deshalb suche ich IDEs die dafür verwendet werden können.
Damit nicht nur etwas für eine Plattform herauskommt sollte es sowas wie Wxwindows sein, also mind. für Linux, MS-Win und Mac, aber die damit produzierte Software muß Geld einbringen und darf die Strucktur der verwendeten Binär-Dateien nicht zeigen, muß also propietät sein. Außer ein paar Fenster zur Interaktion, Dateizugriffen und etwas Rechnen muss die fertige Software auf eine der seriellen Schittstellen zugreifen und auch auf Speicherkarten (MMC/SDC) low level zugreifen können.
Zudem sollte Sourcecode von anderen, die z. B. mit dem Borland C++-Builder erstellt wurde, möglichsht ohne großen Aufwand importiert werden können.
Mit welchen IDEs kann man das hinbekommen? :confused:

tuxipuxi
21-06-2003, 09:40
hi,

moechtest du jetzt wissen welche IDE oder welche KLASSENBIBLIOTHEK?

wxwindows ist eine klassenbibliothek, visual c++ eine IDE.

als klasenbibliothek waere Qt ideal, kostet aber ne ganze stange geld. gibts fuer MacOS, linux, windows.(also kommerziell geld, noncommercial kostenlos ).
allerdings sind das ja alles keine bibliotheken um lowlevel zu programmieren, das ist c++ sowieso nicht.

bei der IDE frage musst du schon sagen fuer welche plattform.

gruss,

tuxipuxi.

nobody0
21-06-2003, 10:27
Wxwindows ist doch mehr als eine Klassenbibliothek, oder?
Die IDE soll möglichst für mehrere Plattformen sein; zumindest für Linux und MS-Win; kann das Kylix das denn nicht? :confused:

tuxipuxi
21-06-2003, 10:32
hi,

IDE = integrated development environment = entwicklungsumgebung.
darunter fallen z.b. kdevelop, eclipse oder visual c++.

wxwindows, qt, gtk und das alles sind klassenbibliotheken mit denen du GUI's und noch viel mehr programmieren kannst.

das ist ein grosser unterschied. du kannst mit qt auch entwickeln ohne eine IDE, sprich entiwcklungsumgebung zu benutzen.

Qt laeuft wie gesagt auf linux, mac os und windows.

werd doch mal konkret:

was suchst du, IDE oder klassenbibliothek?

gruss,

tuxipuxi.

nobody0
21-06-2003, 10:43
Achso, dann brauche ich nur eine Klassenbibliothek.
Als Compiler kann man ja gcc nehmen oder?

tuxipuxi
21-06-2003, 10:51
hi,

du musst es natuerlich auf der jeweiligen plattform wieder uebersetzen. Qt-code laesst sich meistens ohne code aenderungen wieder compilen.

also brauchst du fuer die anderen betriebsysteme auch einen compiler.

gruss,

tuxipuxi.

anda_skoa
21-06-2003, 12:15
Es gibt natürlich auch IDEs, die auf mehreren Plattformen laufen.

Borland C++ und Kylic im C++ Mode sollten ansich auch portablen Code erzeugen, zumindest zwischen Windows und Linux/x86

Mit wxWindows hab ich keine Erfahrung, aber Qt kann ich empfehlen.

Benutzen wir in der Firma für Crossplatfrom Software auf Tru64, Linux, Windows.

Die meisten Entwickler bei uns arbeiten unter Linux, ein/zwei unter Windows.

Die Linuxer benutzen AFAIK keine IDE. Einige XEmacs, ich Kate.
Die Windowsleute benutzen VC++

Ciao,
_

nobody0
21-06-2003, 13:38
Aha, aber mit QT kann man nichts für MacOS machen, oder? :confused:

Dass man für jede Plattform neu übersetzen muss ist klar, denn die setzen ja einiges wie z. B. little endian oder big endian in einem ganz bestimmten Format voraus.
Aber braucht man mehr als den gcc zum übersetzen?

Und was ist Kate?

Gibt es eigentlich IDEs mit KI-unterstützter transformationeller Softwareentwicklung?

peschmae
21-06-2003, 14:01
qt 3 unterstützt mac os x (aber nicht das klassische Mac OS)

Kate ist der Texteditor von KDE
http://kate.kde.org/

MfG Peschmä

tuxipuxi
21-06-2003, 14:40
Original geschrieben von nobody0
Aha, aber mit QT kann man nichts für MacOS machen, oder? :confused:


wenn du gelesen haettest was ich gesagt hab, haettest du gesehen das ich 2mal erwaehnt habe das das geht. :mad:

anda_skoa
21-06-2003, 15:15
Original geschrieben von nobody0
Aha, aber mit QT kann man nichts für MacOS machen, oder? :confused:


QT ist von Apple :)
Das gesamte Mulitmedia System eines Macs beruht auf QT.

Qt benutzt auf Mac QT als Sound Backend.
Ist dem Entwickler in der QSound Doku sogar eine besondere Erwähnung wert gewesen, weil die beiden Kürzel wirklich sehr ähnlich geschrieben werden :)



On Macintosh, ironically, we use QT (QuickTime) for sound, this means all QuickTime formats are supported by Qt/Mac.


Ciao,
_

nobody0
21-06-2003, 17:14
Achso, dass QT auch für MacOS ist, hatte ich überlesen :rolleyes:
Dann werden wir in der Firma wohl QT nehmen, denn wenn ich die Infos über Wxwindows richtig verstanden habe, ist die damit erzeugte Software unter einer modifizierten GPL und von Borland gibt es anscheinend keine C++-IDE für MacOS oder auch nur einen Crosscompiler dafür.

Was empfehlen denn die Profis zu QT zum Entwickeln (Compiler, CVS usw.)? :confused:

Eigentlich reicht zum Complieren der gcc unter einer Plattform, dem man (in einem entsprechenden Make-File) nur angeben muss, für welche Plattform er compilieren soll, oder? :confused:

anda_skoa
21-06-2003, 19:34
Original geschrieben von nobody0
Achso, dass QT auch für MacOS ist, hatte ich überlesen :rolleyes:


Qt nicht QT :rolleyes:



Dann werden wir in der Firma wohl QT nehmen


Wir sind zufrieden damit, diese Whal getroffen zu haben.



denn wenn ich die Infos über Wxwindows richtig verstanden habe, ist die damit erzeugte Software unter einer modifizierten GPL


modifizierte LGPL



und von Borland gibt es anscheinend keine C++-IDE für MacOS oder auch nur einen Crosscompiler dafür.


Borlands Non-Window Engagement ist leider ziemlich halbherzig :(



Was empfehlen denn die Profis zu QT zum Entwickeln (Compiler, CVS usw.)? :confused:


Für QT keine Ahnung.
Für Qt könnt ihr praktisch alle Editoren oder IDEs einsetzen, die ihr schon zur Verfügung habt.

Compiler genau so.
qmake, der Makefilegenerator, kennt Haufenweise Compiler-Plattform Kombinationen, für die er passende Makefiles erstellen kann.
Wir benutzen g++ unter Linux, cxx unter Tru64, msvc++ unter Windows.

CVS oder eine andere Versionskontrolle ist ohnehin ein Muss.
Wir benutzen CVS, da das für alle Plattformen verfügbar ist.



Eigentlich reicht zum Complieren der gcc unter einer Plattform, dem man (in einem entsprechenden Make-File) nur angeben muss, für welche Plattform er compilieren soll, oder? :confused:

Man erstellt qmake Project Files (.pro) aus denen dann qmake für ein angegebens Target das korrekte Makefile erstellt.
Auf einer Plattform muss man also nur die entsprechende Umgebungsvariable setzen und mit qmake das Makefile erzeugen und dann make aufrufen.

Wie das zB unter Linux gemacht wird, kannst du in unserem Qt Tutorial in der Lektiion 4 oder 5 nachlesen.

Ciao,
_

nobody0
21-06-2003, 21:14
Original geschrieben von anda_skoa
Qt nicht QT :rolleyes:
_

Dann sollte mal die Foren-Übersicht richtig geschrieben werden, damit nicht noch mehr Leute falsch abschreiben.





Original geschrieben von anda_skoa

Wir sind zufrieden damit, diese Whal getroffen zu haben.

Wahl nicht Whal :rolleyes:


Original geschrieben von anda_skoa

Wie das zB unter Linux gemacht wird, kannst du in unserem Qt Tutorial in der Lektiion 4 oder 5 nachlesen.


Aha, danke. Mal sehen in welchem der beiden Qt-Tutorien das drinnsteht, wie teuer Qt ist und ob der gcc auf allen Plattformen verwendet werden kann. Für Linux und Microcontrollern ist der gcc ja sehr gut.

anda_skoa
22-06-2003, 11:56
Original geschrieben von nobody0
Dann sollte mal die Foren-Übersicht richtig geschrieben werden, damit nicht noch mehr Leute falsch abschreiben.


Danke, erledigt.



Aha, danke. Mal sehen in welchem der beiden Qt-Tutorien das drinnsteht, wie teuer Qt ist und ob der gcc auf allen Plattformen verwendet werden kann. Für Linux und Microcontrollern ist der gcc ja sehr gut.

Das "Grundlagen" Tutorial beschreibt das Arbeiten mit Qt.
Im Qt Paket sind noch jede Menge englischer Tutorials enthalten, die die einzelnen Bereiche der Qt näher erklären.

qmake kennt ein win32-g++ Target, aber meistens hat mn auf Windows schon einen anderen Compiler als Bestandteil der eingesetzten IDE.
Die gebräuchlichsten sind da wohl VC++ und Borland C++, beide auch als qmake Targets verwendbar.

Ciao,
_

nobody0
22-06-2003, 15:52
Aha, danke.
Also ist keine IDE nötig und ich kann von Linux aus auch eine Win- und eine Mac-Version erstellen, oder? :confused:

anda_skoa
22-06-2003, 18:19
Original geschrieben von nobody0
Aha, danke.
Also ist keine IDE nötig und ich kann von Linux aus auch eine Win- und eine Mac-Version erstellen, oder? :confused:

Hmm, weiß nicht ob crosscompiling unterstützt wird.
Wir machen unsere Builds auf den jeweiligen Plattformen, also die Windows Version unter Windows2000, etc.

Braucht man ohnehin auch zum Testen.

Ciao,
_

nobody0
22-06-2003, 19:47
Wie, Testen muss man auch dann, wenn nichteinmal auf Ports zugegriffen wird? Ist das Qt so unzuverlässig? :confused:

Wie ist es eigentlich mit den Kosten; msvc++ kostet doch in der Anschaffung und für die fertige Software müssen auch Gebühren gezahlt werden, oder? :confused:

peschmae
23-06-2003, 07:30
Original geschrieben von nobody0
Wie, Testen muss man auch dann, wenn nichteinmal auf Ports zugegriffen wird? Ist das Qt so unzuverlässig? :confused:

hä, da kom ich net mit...



Wie ist es eigentlich mit den Kosten; msvc++ kostet doch in der Anschaffung und für die fertige Software müssen auch Gebühren gezahlt werden, oder? :confused:

wer sagt, du müsstest msvc++ benutzen?

MfG Peschmä

tuxipuxi
23-06-2003, 08:52
Original geschrieben von nobody0
Wie, Testen muss man auch dann, wenn nichteinmal auf Ports zugegriffen wird? Ist das Qt so unzuverlässig? :confused:

ungetestete software zu verkaufen ist ziemlich schwachsinnig oder?

peschmae
23-06-2003, 11:55
eben, wo ist denn da das Problem? :(

abgesehen davon natürlich, dass du einen Mac brauchst :D

MfG Peschmä

nobody0
23-06-2003, 20:52
Ich meine, wenn es auf einer Plattform getestet wird, sollte es theoretisch reichen. Praktisch scheint das aber schwieriger zu sein.

anda_skoa
23-06-2003, 21:03
Original geschrieben von nobody0
Ich meine, wenn es auf einer Plattform getestet wird, sollte es theoretisch reichen. Praktisch scheint das aber schwieriger zu sein.

Leider ist das nicht so einfach.
Bei Teilbereichen, wo die Systeme sehr unterschiedlich sind, können kleinere Fehler auf einer Plattform völlig unentdeckt bleiben, auf einer anderen fallen sie sofort auf.

Die Unixsystem sind da insich natürlich konsistener, aber Windows kann da manchmal unterschiedlich reagieren.
Man denke da zB an "Laufwerke" vs. vollkommen hierachisches Filesystem.

Unter Unix hat man eher Probleme mit unterschiedlichen Window Manager, bzw. deren Policies (zb Focus follows mouse).

Manchmal gibts da witzige Zufällen, wenn sich zB Windows und Tru64 gleich verhalten, aber anders als Linux .
Kommt manchmal bei Netzwerksachen vor.

Aber das Testen auf den Einsatz-Plattformen hält sich in Grenzen.
Ich hatte im letzte Jahr nur drei Fälle, wo etwas unter Linux (meiner Entwicklungsplattform) lief, aber auf einer der anderen Einstatzplattformen (Tru64, Windows) Probleme gemacht hat.

Zwei mal wars ein 64bit vs 32bit Problem :rolleyes:

Ciao,
_

peschmae
24-06-2003, 07:48
ich programmiere mittlerweile Java wieder unter Windows weil

1. Eclipse auf linux saulahm ist
2. die Probleme beim Ausführen von Runtime.getRuntime.exec("externesprogram"); nur unter Windows auftreten...

wie du siehst ist Testen auf den Zielplattformen sogar bei Java nötig...

MfG Peschmä

nobody0
24-06-2003, 17:55
Aha. Naja, es gibt für Java ja Erweiterungen um auf Hardware zuzugreifen, aber die die sind natürlich plattformspezifisch und folglich sind es sicherlich auch die Bugs.

Unterstützt Eclipse denn nicht SMP? Auf einem Quad Opteron Board müsste das doch ausreichend schnell sein, oder?

Mal was anderes: Hier bei Nürnberg wird ein Programmierer für C++ + Qt gesucht. In 4 Wochen soll ein Programm fertiggestellt werden, das Speicherkarten ausliest u. beschreibt und dem Benutzer Menüs zum Ändern von einigen Daten anbietet.
Gibt´s dafür Foren oder gibt es hier einen Interessenten?

anda_skoa
25-06-2003, 11:02
Original geschrieben von nobody0
Mal was anderes: Hier bei Nürnberg wird ein Programmierer für C++ + Qt gesucht. In 4 Wochen soll ein Programm fertiggestellt werden, das Speicherkarten ausliest u. beschreibt und dem Benutzer Menüs zum Ändern von einigen Daten anbietet.
Gibt´s dafür Foren oder gibt es hier einen Interessenten?

Da gäbe es die qt-interest mailingliste bei Trolltech, aber ich weiß nicht, ob da Job Angebote gerne gesehen werden.
Es sollte in der de. Hierachie Newsgroups für Jobangebote geben.

Eventuell kann man auch ein Angebot auf kde-devel posten, auch wenn das dort auch nicht unbedingt gerne gesehen wird.
Auf kde-de lesen auch einige deutsche KDE Entwickler mit.

Newsgroups einer nahem Uni sind auch immer ein guter Tipp.
In unserer (TU Graz) arbeitsmarkt Newsgroup findet man oft solche Angebote.

Ciao,
_

peschmae
25-06-2003, 11:16
Original geschrieben von nobody0
Aha. Naja, es gibt für Java ja Erweiterungen um auf Hardware zuzugreifen, aber die die sind natürlich plattformspezifisch und folglich sind es sicherlich auch die Bugs.


eben, bei QT ist es genauso



Unterstützt Eclipse denn nicht SMP? Auf einem Quad Opteron Board müsste das doch ausreichend schnell sein, oder?
du bezahlst ! ;)

(hab derzeit einen PII 266....)

MfG Peschmä

@anda_skoa: schon wieder :D - zum Glück kann man nachbearbeiten...

anda_skoa
25-06-2003, 11:27
Original geschrieben von peschmae
eben, bei QT ist es genauso


Zusätzlich, also abgesehen von der unterschiedlichen Implementation der jeweiligen Libs, darf man nicht vergessen, dass sich die System anders verhalten können.

Unter Unix kannst du jeder Zeit eine Datei löschen, sofern du die Rechte dazu hast und sie nicht spezielle gelockt ist. Unter Windows nur, wenn sie gerade nicht geöffnet ist.

Sachen also, die mit dem Code ansich nichts zu tun haben.

Ciao,
_

nobody0
25-06-2003, 20:03
Original geschrieben von anda_skoa

Newsgroups einer nahem Uni sind auch immer ein guter Tipp.
In unserer (TU Graz) arbeitsmarkt Newsgroup findet man oft solche Angebote.


In Ulm wäre das möglich, aber in Nürnberg/Erlangen ist man als externer ausgesperrt. Ansonsten würde ich z. B. die Kleinanzeigen dort nutzen.

nobody0
25-06-2003, 20:08
Original geschrieben von anda_skoa
Zusätzlich, also abgesehen von der unterschiedlichen Implementation der jeweiligen Libs, darf man nicht vergessen, dass sich die System anders verhalten können.


Ja, das mit dem madatory Lock, das kann man unter Linux einstellen (ist ja auch sinnvoll, damit nicht mehrere Prozesse in eine Datei schreiben), aber unter MS-Win kann man das wohl kaum abstellen; das kenne ich.