Zurück   3DCenter Forum > Software-Hilfe Foren > Unix / Linux Betriebssysteme und Software
Registrieren Hilfe Community Kalender Heutige Beiträge Suchen Uns unterstützen

Antwort
 
Themen-Optionen Ansicht
Alt 2020-10-04, 21:34:01   #1 (im Thread / einzeln)
Th3o
Admiral Member
 
Benutzerbild von Th3o
 
Registriert: 2002-05-28
Ort: bei Darmstadt
Beiträge: 3.593
Softwareentwicklung unter Linux

Hallo,

ich plane ein C++ Projekt, das ich z.Z unter Windows entwickele, auf Linux (Ubuntu LTS) zu portieren. Das Projekt besteht z.Z. aus einer statisch Lib, einer Dll und eines Programmes zum Testen der Dll-Funktionen. Entwickelt wird unter Windows mit Visual Studio und Einsatz diverser Libs (Boost, RealSense SDK, OpenCV und PCL).

Primär geht es mir erst mal um die z.Z bevorzugte Vorgehensweise bei der Entwicklung unter Linux, kann mir jemand ein gutes Buch/ Online Tutorial empfehlen?

Welche Tools sind z.Z am besten für die C++ Entwicklung unter Linux geeignet?

Unter Windows habe ich die Libs wie z.B PCL oder OpenCV aus Sourcen kompiliert und dort wurde CMake eingesetzt. Ist das der bevorzugter Weg unter Linux z.Z? Oder doch eher eine Entwicklungsumgebung wie z.B QT Creator oder KDevelop? GUI ist erstmal nicht so wichtig, gesteuert wird das Programm aus der Konsole, später soll das Programm dann eventuell auf einen externen Rechner laufen und über Sockets gesteuert werden.

Th3o ist offline Computer-Informationen von Th3o anzeigen   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2020-10-04, 22:52:52   #2 (im Thread / einzeln)
Berniyh
Admiral Member
 
Registriert: 2019-09-28
Beiträge: 2.029
Re: Softwareentwicklung unter Linux

Zitat von Th3o Beitrag anzeigen
Unter Windows habe ich die Libs wie z.B PCL oder OpenCV aus Sourcen kompiliert und dort wurde CMake eingesetzt. Ist das der bevorzugter Weg unter Linux z.Z?
Wenn du nicht spezifische Versionen der Libs benötigst, dann kannst du die einfach aus den Software-Repositories beziehen.
Nur nicht vergessen die -dev Pakete (enthalten die Header) zu installieren.
Zitat:
Oder doch eher eine Entwicklungsumgebung wie z.B QT Creator oder KDevelop?
Das ist halt echt Geschmackssache. Manche mögen Umgebungen wie Eclipse, Creator oder KDevelop, andere nutzen einfach nur Emacs oder vim.
(ok, einfach und die beiden Editoren in einem Satz ist wieder eine ganz eigene Geschichte.)

Von den Entwicklungsumgebungen ist Eclipse glaube ich die populärste, aber am Ende hat da eben jeder seine eigenen Vorlieben. Ist vermutlich am sinnvollsten selbst die entsprechenden Tools mal zu installieren und zu begutachten.
Sind ja zum Glück alle kostenlos und schnell über den Paketmanager installiert/deinstalliert.
Berniyh ist offline   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2020-10-04, 23:13:41   #3 (im Thread / einzeln)
clm[k1]
Platinum Member
 
Benutzerbild von clm[k1]
 
Registriert: 2004-05-06
Beiträge: 1.445
Re: Softwareentwicklung unter Linux

Zitat von Th3o Beitrag anzeigen
Welche Tools sind z.Z am besten für die C++ Entwicklung unter Linux geeignet?
Ich werf mal noch CLion in den Raum. Lohnt sich aber vermutlich nur, wenn du auch beruflich öfters mit C++ zu tun hast - für ein Hobby-Projekt sind die 200€ ggfs. etwas viel

Bietet aber halt den Komfort und die Zuverlässigkeit, den man von einer IDE von Jetbrains so gewohnt ist.


just my 2 cent

bortaS bIr jablu' DI' reH QaQqu' nay' (altes Klingonisches Sprichwort)
clm[k1] ist offline   Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2020-10-05, 00:33:06   #4 (im Thread / einzeln)
Gast
Gast
 
Beiträge: n/a
Re: Softwareentwicklung unter Linux

Grundsätzlich würde ich hier Build Systems und IDEs trennen. Welche IDE du verwendest ist nebensächlich. Da du nun Windows und Linux nutzt, würde ich ein Build System nehmen, welches für cross-platform compilation gut geeignet ist und dann kannst du deinen Workflow gleich unter Windows (und zukünftige Projekte) wiederverwenden.

CMake wäre hierfür ein Ansatz (es gibt aber natürlich jede Menge Alternativen zu CMake). Damit kannst du relativ leicht dein Linux Projekt auch für Visual Studio unter Windows zum laufen bringen. Das größte Problem wird sein, die Dependencies und Libraries auch für beide Platformen automatisch aufzusetzen. Wir haben unseren CMake-Workflow so optimiert, dass der Source Code der Dependencies automatisch runtergeladen und für die jeweilige Platform kompiliert wird. Dauert zwar eine Zeit das mit CMake richtig aufzusetzen, aber dafür kannst du dann auf jeder Platform einfach über ein einziges CMake Command alles kompilieren und für deine jeweilige IDE konfigurieren.

Als konstenlose IDE auf jeder Platform würde sich Visual Studio Code anbieten. Persönlich verwende ich auch CLion sehr gerne, da es auch auf den CMake-Workflow ausgerichtet ist, aber wie bereits erwähnt kostet das Ding doch einiges.
  Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2020-10-05, 00:36:15   #5 (im Thread / einzeln)
Gast
Gast
 
Beiträge: n/a
Re: Softwareentwicklung unter Linux

Als Lösung für dein Dependency/Library Problem könntest du dir auch den Conan package manager ansehen:

https://conan.io/
  Mit Zitat antworten Beitrag zum Zitieren auswählen
Alt 2020-10-05, 09:13:14   #6 (im Thread / einzeln)
iuno
Avantgarde Member
 
Benutzerbild von iuno
 
Registriert: 2015-01-19
Beiträge: 6.424
Re: Softwareentwicklung unter Linux

CMake ist ein vorgelagertes build system, das hat ja mit der IDE erstmal nichts zu tun. Du kannst dir damit halt fuer unterschiedliche Build-Systeme die weiteren Projektdateien/Skripte raus lassen. Also pflegst du z.B. fuer dein Projekt CMake und kannst dann damit im Build Prozess auf Windows vsbuild Kram und fuer Linux Makefiles raus lassen. Grundsaetzlich ist sowas fuer cross-plattform Entwicklung schon sinnvoll. Eine IDE wie QtCreator unterstuetzt neben CMake auch andere, ob und welche IDE man benutzt ist letztlich eine Geschmacksfrage.

Ich selbst mag CMake nicht, finde es uebermaessig kompliziert und benutze fuer neue Projekte lieber Meson mit Ninja. Da brauche ich mich aber auch nicht um Windows builds zu kuemmern.
iuno ist offline   Mit Zitat antworten Beitrag zum Zitieren auswählen
Antwort

Lesezeichen
  • Dieses Thema bei Twitter speichern
  • Dieses Thema bei Facebook speichern


Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:38:26 Uhr.


Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.