 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Bastie Guest
|
Posted: Sat Mar 17, 2007 7:12 pm Post subject: Linux, Windows, ... |
|
|
Hallo,
ich will gerade ein kleines Projekt aufsetzen, welches ich erstmals
nicht nur unter Windows sondern auch unter Linux compilieren und
laufen lassen will. Nun frage ich mich wie ich das am besten anpacke.
Bisher nutze ich Visual C++ was in Hinblick auf Linux nicht so die
optimale Wahl sein dürfte - aber welche IDE würdet Ihr empfehlen (eine
IDE für beide Betriebssysteme bitte).
Als zweites frage ich mich wie ich den Quelltext sauber trenne ohne
komplett die Sourcen doppelt zu schreiben. Der Aufruf der WinAPI
dürfte unter Linux wohl eher schief gehen. Andereseit will ich nicht
alle Quellen doppelt einmal für Linux und einmal für Windows
schreiben, da dies für eine Weiterentwicklung wohl eher hinderlich
sein dürfte.
Wie macht Ihr dies?
Vielen Dank
vorab |
|
| Back to top |
|
 |
Marcel Müller Guest
|
Posted: Sun Mar 18, 2007 4:09 am Post subject: Re: Linux, Windows, ... |
|
|
Bastie wrote:
| Quote: | ich will gerade ein kleines Projekt aufsetzen, welches ich erstmals
nicht nur unter Windows sondern auch unter Linux compilieren und
laufen lassen will. Nun frage ich mich wie ich das am besten anpacke.
Bisher nutze ich Visual C++ was in Hinblick auf Linux nicht so die
optimale Wahl sein dürfte
|
Als erstes muss man sich den MS-Kram abgewähnen. ATL, MFC etc. (Die
Klassen haben mich sowieso nie überzeugt.)
| Quote: | - aber welche IDE würdet Ihr empfehlen (eine
IDE für beide Betriebssysteme bitte).
|
Eclispe + CDT?
Aber es spricht letztlich auch nichts dagegen, unter Win dennoch die
MSVC-IDE zu nutzen. Das bedeutet ja nicht notwendigerweise, dass der
Code Win-Only ist. Seit Version 7 ist MSVC auch C++-technisch
einigermaßen auf der Höhe.
Man kann mit einem Makefile den Kram trotzdem unter Linux compilieren.
| Quote: | Als zweites frage ich mich wie ich den Quelltext sauber trenne ohne
komplett die Sourcen doppelt zu schreiben. Der Aufruf der WinAPI
dürfte unter Linux wohl eher schief gehen. Andereseit will ich nicht
alle Quellen doppelt einmal für Linux und einmal für Windows
schreiben, da dies für eine Weiterentwicklung wohl eher hinderlich
sein dürfte.
Wie macht Ihr dies?
|
Standard APIs benutzen.
Die Win-API braucht man eigentlich nur, wenn es um hardwarenahe Sachen,
den letzten GUI-Gimmick oder um die maximale Performance geht. Ansonsten
gibt es haufenweise plattformübergreifende Alternativen. Beginnend mit
der C++-Runtime (file I/O) über STL, boost::thread, QT, überhaupt die
ganzen boost-Libraries. Posix-Threads sollten mittlerweile auch unter
Win funktionieren - möglicherweise aber nicht mit MSVC.
Marcel |
|
| Back to top |
|
 |
Thomas Maeder Guest
|
Posted: Sun Mar 18, 2007 1:16 pm Post subject: Re: Linux, Windows, ... |
|
|
"Bastie" <Real.Bastie (AT) googlemail (DOT) com> writes:
| Quote: | ich will gerade ein kleines Projekt aufsetzen, welches ich erstmals
nicht nur unter Windows sondern auch unter Linux compilieren und
laufen lassen will. Nun frage ich mich wie ich das am besten
anpacke. Bisher nutze ich Visual C++ was in Hinblick auf Linux
nicht so die optimale Wahl sein dürfte - aber welche IDE würdet Ihr
empfehlen (eine IDE für beide Betriebssysteme bitte).
|
Diese Frage ist off-topic für diese Newsgroup; es geht hier um C++
gemäss ISO-Standard.
XEmacs und make gibt's auf beiden Plattformen.
| Quote: | Als zweites frage ich mich wie ich den Quelltext sauber trenne ohne
komplett die Sourcen doppelt zu schreiben. Der Aufruf der WinAPI
dürfte unter Linux wohl eher schief gehen. Andereseit will ich nicht
alle Quellen doppelt einmal für Linux und einmal für Windows
schreiben, da dies für eine Weiterentwicklung wohl eher hinderlich
sein dürfte. Wie macht Ihr dies?
|
Diese Frage ist auch off-topic.
Den plattformabhängigen Code hinter Schnittstellen
verstecken. Portable Bibliotheken verwenden. |
|
| Back to top |
|
 |
Stefan Reuther Guest
|
Posted: Sun Mar 18, 2007 3:19 pm Post subject: Re: Linux, Windows, ... |
|
|
Bastie wrote:
| Quote: | Nun frage ich mich wie ich das am besten anpacke.
Bisher nutze ich Visual C++ was in Hinblick auf Linux nicht so die
optimale Wahl sein dürfte - aber welche IDE würdet Ihr empfehlen (eine
IDE für beide Betriebssysteme bitte).
|
Ich nehme (X)Emacs + Makefiles (+ selbstgehackten Makefilegenerator).
| Quote: | Als zweites frage ich mich wie ich den Quelltext sauber trenne ohne
komplett die Sourcen doppelt zu schreiben. Der Aufruf der WinAPI
dürfte unter Linux wohl eher schief gehen. Andereseit will ich nicht
alle Quellen doppelt einmal für Linux und einmal für Windows
schreiben, da dies für eine Weiterentwicklung wohl eher hinderlich
sein dürfte.
|
Je nach Aufgabenstellung:
- zerlege das Programm z.B. in plattformunabhängiges Backend und
schreibe mehrere plattformspezifische Frontends ("libblafasel",
"winblafasel.exe", "linuxblafasel").
- verwende eine Portabilitätsschicht wie Qt, SDL, wxWidgets, etc.,
je nach dem, was benötigt wird (normale GUI-Widgets, Spielegrafik).
Stefan |
|
| Back to top |
|
 |
Andre Poenitz Guest
|
Posted: Sun Mar 18, 2007 8:30 pm Post subject: Re: Linux, Windows, ... |
|
|
Marcel Müller <news.5.maazl (AT) spamgourmet (DOT) org> wrote:
| Quote: | Posix-Threads sollten mittlerweile auch unter
Win funktionieren - möglicherweise aber nicht mit MSVC.
|
Selbst das geht.
Andre' |
|
| Back to top |
|
 |
Markus Wichmann Guest
|
Posted: Sun Mar 18, 2007 9:04 pm Post subject: Re: Linux, Windows, ... |
|
|
Bastie schrieb:
| Quote: | Hallo,
ich will gerade ein kleines Projekt aufsetzen, welches ich erstmals
nicht nur unter Windows sondern auch unter Linux compilieren und
laufen lassen will. Nun frage ich mich wie ich das am besten anpacke.
Bisher nutze ich Visual C++ was in Hinblick auf Linux nicht so die
optimale Wahl sein dürfte - aber welche IDE würdet Ihr empfehlen (eine
IDE für beide Betriebssysteme bitte).
|
Nachdem jetzt xemacs schon zweimal kam, muss hier ja jemand dagegen
anbrüllen: Ich benutze (g)Vim und make. Mit selbstgeschriebenen Makefiles.
| Quote: | Als zweites frage ich mich wie ich den Quelltext sauber trenne ohne
komplett die Sourcen doppelt zu schreiben. Der Aufruf der WinAPI
dürfte unter Linux wohl eher schief gehen. Andereseit will ich nicht
alle Quellen doppelt einmal für Linux und einmal für Windows
schreiben, da dies für eine Weiterentwicklung wohl eher hinderlich
sein dürfte.
Wie macht Ihr dies?
|
Je nach dem: Was plattformunabhängig geht, mache ich so; für den Rest
gibt's bedingte Kompilation. Die ist aber genau dann suboptimal, wenn
damit mehr als nur ein paar Aufrufe an das API erfolgen. Da muss eben
nötigenfalls das Rad zweimal erfunden werden. Und für GUIs gibt es mehr
als genug Bibliotheken. (CUI ist sowieso plattformunabhängig)
Tschö,
Markus
--
Gegen TCPA! Für unsere Rechte!
Homepage: http://wichi.wi.funpic.de
Mail-Zertifikat: http://wichi.wi.funpic.de/certs/gmx/cert.crt
Root-Zertifikat: http://wichi.wi.funpic.de/certs/root/cert.crt |
|
| Back to top |
|
 |
Christoph Egger Guest
|
Posted: Mon Mar 19, 2007 11:13 pm Post subject: Re: Linux, Windows, ... |
|
|
Bastie schrieb:
| Quote: | Hallo,
ich will gerade ein kleines Projekt aufsetzen, welches ich erstmals
nicht nur unter Windows sondern auch unter Linux compilieren und
laufen lassen will. Nun frage ich mich wie ich das am besten anpacke.
Bisher nutze ich Visual C++ was in Hinblick auf Linux nicht so die
optimale Wahl sein dürfte - aber welche IDE würdet Ihr empfehlen (eine
IDE für beide Betriebssysteme bitte).
Ich verwende da das bereits erwähnte Eclipse + CDT ... |
| Quote: | Als zweites frage ich mich wie ich den Quelltext sauber trenne ohne
komplett die Sourcen doppelt zu schreiben. Der Aufruf der WinAPI
dürfte unter Linux wohl eher schief gehen. Andereseit will ich nicht
alle Quellen doppelt einmal für Linux und einmal für Windows
schreiben, da dies für eine Weiterentwicklung wohl eher hinderlich
sein dürfte.
Wie macht Ihr dies?
|
.... mit GTKmm, nur der "Trick" für das Make die Libs und Pfade
einzubinden via `pkg-config gtkmm-2.4 --cflags --libs` geht unter
Windows nicht.
|
|
| Back to top |
|
 |
bLinki Guest
|
Posted: Thu Mar 22, 2007 12:50 pm Post subject: Re: Linux, Windows, ... |
|
|
Ich empfehle Dir Code::Blocks
Benutze ich täglich... und für meine Wünsche bzw Anforderungen ist
diese
IDE wie gemacht.
Gruß
Bastian |
|
| Back to top |
|
 |
Urs Stotz Guest
|
Posted: Mon Mar 26, 2007 6:36 am Post subject: Re: Linux, Windows, ... |
|
|
Bastie wrote:
| Quote: |
ich will gerade ein kleines Projekt aufsetzen, welches ich erstmals
nicht nur unter Windows sondern auch unter Linux compilieren und
laufen lassen will. Nun frage ich mich wie ich das am besten anpacke.
Bisher nutze ich Visual C++ was in Hinblick auf Linux nicht so die
optimale Wahl sein dürfte - aber welche IDE würdet Ihr empfehlen (eine
IDE für beide Betriebssysteme bitte).
|
Wenn's nicht eine IDE sein muss, dann schau Dir doch einmal
MPC an: http://ociweb.com/products/mpc.
MPC wird dazu verwendet aus systemunabhaengigen Projekt Dateien,
zum Beispiel Makefiles oder auch Solution Files fuer VC zu erzeugen.
Ich benutze MPC fuer Projekte, die unter Linux mit g++,
Solaris mit dem Sun Studio 11 und Windows mit VC2005 entwickelt
werden.
Was mir daran gut gefaellt, ist das ich den Entwicklern die Freiheit
lasse, dass sie so nach ihrer Vorliebe entwickeln koennen.
Die einen arbeiten gern mit Vim/emacs und Makefiles und die anderen
benutzen lieber eine IDE wie das Visual Studio.
Hier hab ich das versucht fuer GTKmm Projekte zu beschreiben:
http://www.c-plusplus.de/forum/viewtopic-var-t-is-160208.html
Und hier ist eine verbesserte Version der MPC Definitionen fuer GTKmm:
http://napali.ch/svn/doc/branches/MPC_GTKmm_Demo_GKTmmVer-2.10/config
Gruss
Urs |
|
| Back to top |
|
 |
Karl-Heinz Aschenbach Guest
|
Posted: Sat Mar 31, 2007 12:02 am Post subject: Re: Linux, Windows, ... |
|
|
Bastie wrote:
| Quote: | Hallo,
ich will gerade ein kleines Projekt aufsetzen, welches ich erstmals
nicht nur unter Windows sondern auch unter Linux compilieren und
laufen lassen will. Nun frage ich mich wie ich das am besten anpacke.
Bisher nutze ich Visual C++ was in Hinblick auf Linux nicht so die
optimale Wahl sein dürfte - aber welche IDE würdet Ihr empfehlen (eine
IDE für beide Betriebssysteme bitte).
Als zweites frage ich mich wie ich den Quelltext sauber trenne ohne
komplett die Sourcen doppelt zu schreiben. Der Aufruf der WinAPI
dürfte unter Linux wohl eher schief gehen. Andereseit will ich nicht
alle Quellen doppelt einmal für Linux und einmal für Windows
schreiben, da dies für eine Weiterentwicklung wohl eher hinderlich
sein dürfte.
Wie macht Ihr dies?
Vielen Dank
vorab
|
Ich hatte mir einmal kurz Kylix von Borland
angesehen, dann aber wieder gelöscht, weil
ich kein Projekt hatte, welches sowohl unter
Win wie auch Linux laufen sollte. Kylix
ähnelt stark Borland C++-Builder für Windows.
Es kann als Datenbank-Basis MySQL benutzen.
Der Quelltext ist in beiden OS (fast)
gleich. Man kann auch die gleichen
Komponenten unter beiden OS benutzen -
z. B. Schnittstellen zu Datenbanken.
Problem von Kylix (wie ich es kenne) ist,
dass es unter Linux nur mit bestimmten
Versionen einzelner Distributionen läuft.
Zertifiziert ist es für SuSE 7.3 und Red Hat
9,xx (glaub' ich jedenfalls). Allerdings
läuft Kylix auch auf anderen Distribut.,
wie die erwähnten. Man muss das konkret
ausprobieren. Leider läuft es halt nicht
auf allen! Vielleicht gibt es auch neuere
Versionen von Kylix, die auch mit neueren Linux-
Distributionen läuft. Wenn Du irgend eine
Trial-Version von Kylix bekommst, kannst
Du es ja ausprobieren!
Mit Gruß
Karl-Heinz
--
Kar |
|
| Back to top |
|
 |
Christian Buhtz Guest
|
Posted: Sat Mar 31, 2007 4:45 pm Post subject: Re: Linux, Windows, ... |
|
|
bLinki schrieb:
| Quote: | Ich empfehle Dir Code::Blocks
|
Das kann ich hier so bestätigen. Nach vielem Ausprobieren, war
Code::Blocks dann doch die beste Wahl. Läuft auf Win32, Linux, Mac.
Als GUI-lib würde ich hier wxWidgets empfehlen.
Ich war früher auf Qt, aber wxWidgets hat doch einige entscheidende
Vorteile und ist bei weitem nicht so schwerfällig wie Qt. |
|
| Back to top |
|
 |
Christoph Egger Guest
|
Posted: Mon Apr 02, 2007 1:08 am Post subject: Re: Linux, Windows, ... |
|
|
Christian Buhtz schrieb:
| Quote: | bLinki schrieb:
Ich empfehle Dir Code::Blocks
Das kann ich hier so bestätigen. Nach vielem Ausprobieren, war
Code::Blocks dann doch die beste Wahl. Läuft auf Win32, Linux, Mac.
|
Ich bin heute dazugekommen Code::Blocks auszuprobieren; Als folge habe
ich die Projekte von Eclipse/CDT alle nach Code::Blocks übertragen.
Jetzt läuft auch "Code Completion" ohne 3min zu warten bis die IDE
wieder ansprechbar ist.
Für Code::Blocks gibt es angeblich auch ein SVN-Plugin? Kann mir da
jemand einen Link geben?
Christoph |
|
| Back to top |
|
 |
Christoph Egger Guest
|
Posted: Mon Apr 02, 2007 1:12 am Post subject: Re: Linux, Windows, ... |
|
|
Karl-Heinz Aschenbach schrieb:
| Quote: | Bastie wrote:
Hallo,
ich will gerade ein kleines Projekt aufsetzen, welches ich erstmals
nicht nur unter Windows sondern auch unter Linux compilieren und
laufen lassen will. Nun frage ich mich wie ich das am besten anpacke.
Bisher nutze ich Visual C++ was in Hinblick auf Linux nicht so die
optimale Wahl sein dürfte - aber welche IDE würdet Ihr empfehlen (eine
IDE für beide Betriebssysteme bitte).
Als zweites frage ich mich wie ich den Quelltext sauber trenne ohne
komplett die Sourcen doppelt zu schreiben. Der Aufruf der WinAPI
dürfte unter Linux wohl eher schief gehen. Andereseit will ich nicht
alle Quellen doppelt einmal für Linux und einmal für Windows
schreiben, da dies für eine Weiterentwicklung wohl eher hinderlich
sein dürfte.
Wie macht Ihr dies?
Vielen Dank
vorab
Ich hatte mir einmal kurz Kylix von Borland
angesehen [...]
Mit Gruß
Karl-Heinz
|
Kylix wird meines Wissens nicht mehr weiterentwickelt, vielleicht ein
Grund das nicht zu verwenden
Gruß
Christoph |
|
| Back to top |
|
 |
Christian Buhtz Guest
|
Posted: Mon Apr 02, 2007 10:58 pm Post subject: Re: Linux, Windows, ... |
|
|
Christoph Egger schrieb:
| Quote: | Für Code::Blocks gibt es angeblich auch ein SVN-Plugin? Kann mir da
jemand einen Link geben?
|
Frag dazu nochmal im Code::Blocks Forum nach. Aber soweit ich weis,
wurdes das Plugin erstmal wieder entfernt, weil es wohl masive Bugs
hatte, die bisher noch keiner behoben hat. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|