GUI/IDE für ninja und C# project

Homoioteleuton

Lt. Commander Pro
Registriert
Nov. 2008
Beiträge
1.666
Hey!

Ich habe ein realtiv umfangreiches und großes Projekt in C#/C++ geforked.
Unter Windows kann ich es mittlels cmake und Visual Studio bauen. Cmake erstellt .sln Dateien, in Visual Studio kann ich dann damit die einzelnen Teile des Projektes kompilieren.
Nun suche ich was ähnliches für Linux, da ich das ganze auch einmal als Cross-Compile testen will.

Bisher habe ich erfolgreich alle dependencies installiert und mittels cmake ninja-build-files erstellt. Über das Terminal kann ich nun zwar das ganze Prpjekt bauen (bzw. schlägt es momentan noch fehl), aber ich würde gerne auch wie under Visual Studio nur Teilkomponenten bauen können (hauptsächlich um nciht immer alles bauen zu müssen).

Gibt es sowas auch für Linux bzw. generell für ninja build files?

Ich nutze Win11 bzw. WSL mit Ubuntu 24.04 (vorerst zum testen), eventuell installiere ich später auch ein vollwertiges Linux
 
Homoioteleuton schrieb:
hauptsächlich um nciht immer alles bauen zu müssen
CMake achtet doch darauf was sich geändert hat und was neu gebaut werden muss?

Wenn ich in meinem C++ Projekt etwa eine .cpp Datei ändere, dann wird diese neu kompiliert und im entsprechenden Ziel neu verarbeitet (hier statische Library).

Das passiert unter Windows genauso wie unter macOS und Linux.
 
  • Gefällt mir
Reaktionen: tollertyp
Kann man nicht für die Teil-Projekte eigene cmake-Dateien machen?

@Kristatos: Visual Studio und Visual Studio Code sind komplett unterschiedliche Dinge.

Edit:
Ansonsten würde ich mir mal die Tools von Jetbrains anschauen, die gibt es i.d.R. auch für Linux.

Edit2:
Wobei ich glaube CLion (klassisch C/C++) kostenpflichtig ist, Rider (für .net) für nicht-kommerzielle Nutzung frei ist.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: DaysShadow
Beim VS2022 Setup einfach den Linux C++ Workload installieren

1744663866924.png



Und dann könntest du die Linux Version über Windows-Subsystems für Linux (WSL) debuggen und testen:

Anleitung: Kompilieren und Debuggen von C++ mit WSL 2 in Visual Studio 2022​

https://learn.microsoft.com/de-de/cpp/build/walkthrough-build-debug-wsl2?view=msvc-170
 
  • Gefällt mir
Reaktionen: tollertyp
tollertyp schrieb:
Kann man nicht für die Teil-Projekte eigene cmake-Dateien machen?
Macht man üblicherweise auch, aber selbst wenn nicht weiß CMake was es kompilieren und neu bauen muss und was nicht. Ein kompletter Build passiert nur, wenn das Buildverzeichnis vorher gesäubert oder gelöscht wurde, sonst immer nur das was nötig ist.

tollertyp schrieb:
Ansonsten würde ich mir mal die Tools von Jetbrains anschauen, die gibt es i.d.R. auch für Linux.
Die gibt's, Jetbrains sei Dank (völlig uneigennützig natürlich :D), für jedes der drei großen Systeme und funktionieren auf jedem System m.E. gleich gut. Während ich privat normalerweise unter macOS oder Linux entwickle, muss ich an der Arbeit mit Windows schaffen was bzgl. dieser Tools dann eben aber auch keinen Unterschied macht.

tollertyp schrieb:
Wobei ich glaube CLion (klassisch C/C++) kostenpflichtig ist, Rider (für .net) für nicht-kommerzielle Nutzung frei ist.
CLion ist kostenpflichtig, korrekt. Rider ist für nicht-kommerzielle Nutzung seit einer Weile frei, vermutlich hauptsächlich weil sie damit für größeren Spiele Engines (Unreal, Unity, Godot) mittlerweile eine Integration bieten und damit direkt ein Ersatz für Visual Studio sind, das sonst üblicherweise als externe IDE zum Einsatz kommt. So pusht man vermutlich u.a. über die Indie Szene in diesen Markt, wodurch dann irgendwann auch kommerzielle Lizenzen notwendig werden.
 
ok, ich kenne mich wenig mit c++ und c# aus, deswegen habe ich das problem vllt falsch beschrieben, ich probiere es einfach nochmal

Workflow unter Windows:
1.) Cmake um build-dateien zu erzeugen (für Visual Studio 2022)
2.) öffnen der Haupt-Datei: project.sln
3.) Visual Studio lädt daraufhin das Projekt sowie unter-Konfigurationen des Projektes, die sich dann auch alle einzeln bauen/ausführen lassen
4.) Starten eines Unterprojektes

Und nun unter Linux:
1.) Cmake um build-Dateien zu erzeugen (ninja)
2.) ??
3.) Starten eines Unterprjektes


Bei Punkt 2 unter Linux/WSL habe ich meine Probleme
Es wird aber auch von von Cmake unter Linux schinbar nur eine build.ninja Datei erzeugt
 
Homoioteleuton schrieb:
CLion ruft beim bauen schlicht
Code:
cmake.exe --build C:\Users\user\CLionProjects\project\cmake-build-minsizerel --target project_target -j 14
auf, wobei -j 14 die Anzahl an parallelen Jobs definiert.

Ansonsten gibt es auch noch CMake GUI, das hab ich früher auch immer mal verwendet, das solltest du auch aus WSL2 heraus starten können, da WSL2 doch meines Wissens seit einer Weile auch grafische Anwendungen unter Windows darstellen kann. Die IDE macht diese GUI halt, zumindest für das was ich tue, überflüssig.
 
Homoioteleuton schrieb:
Es wird aber auch von von Cmake unter Linux schinbar nur eine build.ninja Datei erzeugt
Das ist auch vollkommen richtig so. Mit dieser Toolchain musst du wissen, wie das "Target" heißt. "Target" ist hierbei das, was du "Teilkomponente" genannt hast.

Wenn du weißt, welches Target du bauen willst, einfach ninja <target> anstatt ninja oder cmake --build --target <target>. Rausfinden, wie die Targets heißen, kannst du entweder in den verschiedenen CMakeLists.txt (add_executable, add_library, etc.) oder du lässt sie dir ausgeben, z.B. ninja -t targets all.
 
  • Gefällt mir
Reaktionen: Homoioteleuton
Das ist tatäschlich der Hinweis, den ich gebraucht habe, vielen Dank!

Um jetzt zurück zur eigentlichen Frage zu kommen: gibt es eine Gui für Ninja, die mir die ganzen möglichen Targets anzeigt? Wobei es mit ein bisschen Gewöhnung übers Terminal auch geht
 
Zurück
Oben