>>161075 Ja, dieser Felix (damals noch Jung-Felix) musste mal Steven CGAL benutzen.
Das war ein Teil von Felixens Programmiererfahrung (neben der Erfahrung mit anderen Bibliotheken), dass man C++-Bibliotheken niemals nie nicht aus dem Paketmanager der jeweils benutzten Distro benutzen sollte, sondern bei C++ nur selber kompilieren frei macht. Ansonsten kriegt man einfach zu viele ABI-Probleme. Erst heute weiß Felix, dass pkgconf vollkommen unzureichend für ABI-Kompatibilität ist und sogar ein abweichend eingestellter Sprachstandard (also so etwas wie
-std=c++17 vs.
-std=c++20) bereits zu ABI-Inkompatibilität führt.
Felix sieht aber gerade, dass sie CGAL zu einer Header-only-Bibliothek umgebaut haben. Der natürliche Lebensweg einer C++-Bibliothek. (Alternativer Lebensweg: Wir machen jetzt eine C-Bibliothek und geben dem Nutzer ein paar Header-Dateien für ein paar C++-RAII-Wrapper mit, die der Nutzer dann direkt selbst seinem Projekt hinzufügt). Einzige Felix bekannte C++-Bibliothek, die ABI-Kompatibilität ernst nimmt, ist scheinbar Qt, zumindest nach ABI compatibility tracker, was auch kein Wunder ist, da das Qt-Projekt selbst den ABI Compliance Checker (ABICC) verwendet.