Hallo,
das ist eine etwas weitschweifige Frage, aber was ist, wenn man mit QT
tatsächlich mehrere Betriebssysteme ansprechen will? Da empfiehlt es
sich doch sicher den gleichen Compiler (z.B. GNU) zu verwenden, der
auf allen Systemen gleich arbeitet.
Wenn ich z.B. Windows und Mac ansprechen will, was wäre eine empfehlenswerte Kombination?
Visual C++ kenne ich, halte ich aber nicht für die optimale Lösung.
KDevelop ist nur was für Linux (wenn's gut ist, warum nicht auch Linux).
Dev-C++ sagt mir nicht viel - scheint auch praktikabel.
Eclipse gibts quasi für alle Systeme - eigentlich ideal, oder?
Wäre schön, wenn Ihr ein paar Tips hättet, womit Ihr gute oder schlechte Erfahrungen gemacht habt.
Danke!
Auswahl von Compiler bzw. IDE
Also die IDE is eh bloß die persönliche Note. Wenn du unter verschiedenen Systemen nicht viel umdenken willst, nimmst du eine platformübergreifende (zB Eclipse). Auf das (Binär)Resultat hat das aber keinen Einfluß, da man bei jeder einen beliebigen Compiler einbinden kann (bei VisualC++ weiß nur offenbar keiner, wie das geht).
Die Frage nach dem Compiler ist schon interessanter. Zu Bedenken ist jedoch, daß ein Compiler nur ein Handlanger ist, der den Code in eine dem jeweiligen Betriebssystem bekannte Form bringt. Es ist zwar anzunehmen, daß ein Compiler, der unter mehreren Systemen zur Verfügung steht, auch versucht, dieselbe Umsetzung des Codes anzustreben, aber meistens werden da technische Grenzen eines speziellen BS eine viel größere Rolle spielen. Ansonsten gibt es noch compilerspezifische Funktionen (bei mingw zB snprintf), die es möglicherweise bei anderen nicht gibt. Aus diesem Grund wäre der selbe Compiler auf allen Systemen nun wieder sinnvoll.
Erfahrung in platformübergreifender Programmierung kann ich zwar nicht bieten, aber ich arbeite gleichzeitig mit VC++ und Codeblocks (mingw) am selben Code. Bisher bin ich auf zwei Probleme gestoßen, zum einen, das oben erwähnte snprintf, was sich aber leicht durch eine eigene Implementierung bei VC++ und einen Compiler-Switch erledigen läßt. Zum anderen kommt VC++ mit QString::toStdString nicht klar und stürzt bei einem Aufruf ab (bis Qt 4.0.1 zumindest, ob bei den aktuellen auch, hab ich noch nicht probiert) was man aber nicht zwingend verwenden muß, da man auch mit QString::toAscii entsprechende Resultate erzielt.
Wichtig ist vor allem eines: Jede Funktionalität des geschriebenen Programmes sollte auf ALLEN Zielsystemen getestet werden, um sicher zu gehen, daß es auch wirklich überall funktioniert. Auch wenn der gleiche Compiler zum Einsatz kommt, würde ich da kein Risiko eingehen.
Die Frage nach dem Compiler ist schon interessanter. Zu Bedenken ist jedoch, daß ein Compiler nur ein Handlanger ist, der den Code in eine dem jeweiligen Betriebssystem bekannte Form bringt. Es ist zwar anzunehmen, daß ein Compiler, der unter mehreren Systemen zur Verfügung steht, auch versucht, dieselbe Umsetzung des Codes anzustreben, aber meistens werden da technische Grenzen eines speziellen BS eine viel größere Rolle spielen. Ansonsten gibt es noch compilerspezifische Funktionen (bei mingw zB snprintf), die es möglicherweise bei anderen nicht gibt. Aus diesem Grund wäre der selbe Compiler auf allen Systemen nun wieder sinnvoll.
Erfahrung in platformübergreifender Programmierung kann ich zwar nicht bieten, aber ich arbeite gleichzeitig mit VC++ und Codeblocks (mingw) am selben Code. Bisher bin ich auf zwei Probleme gestoßen, zum einen, das oben erwähnte snprintf, was sich aber leicht durch eine eigene Implementierung bei VC++ und einen Compiler-Switch erledigen läßt. Zum anderen kommt VC++ mit QString::toStdString nicht klar und stürzt bei einem Aufruf ab (bis Qt 4.0.1 zumindest, ob bei den aktuellen auch, hab ich noch nicht probiert) was man aber nicht zwingend verwenden muß, da man auch mit QString::toAscii entsprechende Resultate erzielt.
Wichtig ist vor allem eines: Jede Funktionalität des geschriebenen Programmes sollte auf ALLEN Zielsystemen getestet werden, um sicher zu gehen, daß es auch wirklich überall funktioniert. Auch wenn der gleiche Compiler zum Einsatz kommt, würde ich da kein Risiko eingehen.
Danke für die Antwort!
Das bestätigt ein wenig meine Vermutungen. Ein möglichst gleicher Compiler wird wohl das Beste sein. Der GNU-Compiler wird ja auch für große Open Source Geschichten verwendet. Das wird schon passen.
Ein Bekannter hatte schon auf einem Windows-PC erhebliche Schwierigkeiten den selben Code mit VC++, Intel und Borland-Compiler zu compilieren. Der eine Compiler mochte dies nicht, der andere jenes ... sehr nervenaufreibend.
Momentan tendiere ich zu Eclipse. Da brauche ich mich nur einmal reinfinden. Die Inbetriebnahme und Konfiguration ist schon anstrengend genug. Werde mal ein Tutorial aus dem Netz durcharbeiten...
Gruß,
Ulf
Das bestätigt ein wenig meine Vermutungen. Ein möglichst gleicher Compiler wird wohl das Beste sein. Der GNU-Compiler wird ja auch für große Open Source Geschichten verwendet. Das wird schon passen.
Ein Bekannter hatte schon auf einem Windows-PC erhebliche Schwierigkeiten den selben Code mit VC++, Intel und Borland-Compiler zu compilieren. Der eine Compiler mochte dies nicht, der andere jenes ... sehr nervenaufreibend.
Momentan tendiere ich zu Eclipse. Da brauche ich mich nur einmal reinfinden. Die Inbetriebnahme und Konfiguration ist schon anstrengend genug. Werde mal ein Tutorial aus dem Netz durcharbeiten...
Gruß,
Ulf