Zunächst möchte ich erwähnen, dass ich C ++ liebe und einer derjenigen bin, die der Meinung sind, dass es einfacher ist, in C ++ als in Java zu programmieren. Abgesehen von einer winzigen Sache: Bibliotheken.
In Java können Sie einfach etwas jar zum Erstellungspfad hinzufügen und schon sind Sie fertig.
In C ++ müssen Sie normalerweise mehrere Pfade für die Header-Dateien und die Bibliothek selbst festlegen. In einigen Fällen müssen Sie sogar spezielle Build-Flags verwenden. Ich habe hauptsächlich Visual Studio, Codeblöcke und überhaupt keine IDE verwendet. Alle drei Optionen unterscheiden sich kaum, wenn es um die Verwendung externer Bibliotheken geht.
Ich frage mich, warum es dafür keine einfachere Alternative gab. Als ob Sie eine spezielle .zip-Datei hätten, die alles, was Sie brauchen, an einem Ort hat, damit die IDE die ganze Arbeit für Sie erledigen kann, wenn Sie die Build-Flags einrichten. Gibt es dafür eine technische Barriere?
Es ist keine technische Barriere. Unter Linux ist Ihre "spezielle Zip-Datei" ein Library-Dev-Paket, das Sie mit einem Paketmanager installieren, und das Einrichten der Include- und Linker-Flags ist so einfach wie das Hinzufügen einiger Zeilen zu Ihrem
configure.ac
, die pkg-config zum Einrichten verwenden.Pkg-config ist auch für Windows verfügbar, aber kulturelle Barrieren haben seine weitverbreitete Akzeptanz verhindert. Unix hat eine lange Tradition in der Ermöglichung von Portabilität durch die Verteilung von Quellcode. Daher enthalten sie die Entwicklungstools kostenlos. Windows hat eine lange Tradition darin, nur Binärdistributions- und Ladeentwickler für Tools zu ermutigen. Wenn Sie mit dem Verkauf von Bibliotheken Geld verdienen, ist es nicht sinnvoll, die Bereitstellung für Dritte zu vereinfachen.
quelle