kraileth
Steht noch ganz am Anfang
Moin zusammen!
Hat jemand Erfahrung mit Clang und dem C++11-Standard unter OpenBSD? Denn ich habe da leider so meine Schwierigkeiten und nachdem ich nicht wirklich weiterkomme, muß ich jetzt einfach mal fragen.
Konkret: Ich wollte gerne die Funktion stoi() nutzen, die C++ erst ab diesem Standard anbietet. Leider ist OpenBSDs Systemkompiler steinalt - und auch wenn ich den Grund dafür nachvollziehen kann, bleibt das ein Problem, denn von einem Kompiler aus dem Jahr 2007 kann man wohl nicht mit Recht Features erwarten, die 2011 standardisiert wurden...
Daher dachte ich, ich versuche es mal mit clang++, immerhin gibt's den ja auch für OpenBSD und er ist mir an sich recht sympathisch. Leider benutzt er auch die stdlibc++ von GCC und Clangs libc++ habe ich im Portsbaum nicht gefunden. Eine Recherche ergab dann, daß sie für OpenBSD wohl noch nicht portiert ist.
Also neueren GCC versuchen. 4.9 installiert, herausgefunden, daß ich dafür zur Unterscheidung vom Systemkompiler eg++ aufrufen muß. Meckert auch, daß er nichts von stoi() wisse, obwohl <string> eingebunden ist. Wenn ich den Kompiler aufrufe und explizit angebe, daß der neuere Standard verwendet werden soll (-std=c++11), dann ist GCC glücklich - und mein Programm funktioniert erstmal.
Nun würde ich aber aus Interesse gerne wissen, wie ich clang++ anstatt eg++ verwenden kann. Ich nehme an, daß der Kompiler die stdlibc++ des Systems verwendet und nicht die neuere des zusätzlich installierten neueren GCC. Für Tips, wie man in diesem Fall vorgeht, wäre ich dankbar.
Hat jemand Erfahrung mit Clang und dem C++11-Standard unter OpenBSD? Denn ich habe da leider so meine Schwierigkeiten und nachdem ich nicht wirklich weiterkomme, muß ich jetzt einfach mal fragen.
Konkret: Ich wollte gerne die Funktion stoi() nutzen, die C++ erst ab diesem Standard anbietet. Leider ist OpenBSDs Systemkompiler steinalt - und auch wenn ich den Grund dafür nachvollziehen kann, bleibt das ein Problem, denn von einem Kompiler aus dem Jahr 2007 kann man wohl nicht mit Recht Features erwarten, die 2011 standardisiert wurden...
Daher dachte ich, ich versuche es mal mit clang++, immerhin gibt's den ja auch für OpenBSD und er ist mir an sich recht sympathisch. Leider benutzt er auch die stdlibc++ von GCC und Clangs libc++ habe ich im Portsbaum nicht gefunden. Eine Recherche ergab dann, daß sie für OpenBSD wohl noch nicht portiert ist.
Also neueren GCC versuchen. 4.9 installiert, herausgefunden, daß ich dafür zur Unterscheidung vom Systemkompiler eg++ aufrufen muß. Meckert auch, daß er nichts von stoi() wisse, obwohl <string> eingebunden ist. Wenn ich den Kompiler aufrufe und explizit angebe, daß der neuere Standard verwendet werden soll (-std=c++11), dann ist GCC glücklich - und mein Programm funktioniert erstmal.
Nun würde ich aber aus Interesse gerne wissen, wie ich clang++ anstatt eg++ verwenden kann. Ich nehme an, daß der Kompiler die stdlibc++ des Systems verwendet und nicht die neuere des zusätzlich installierten neueren GCC. Für Tips, wie man in diesem Fall vorgeht, wäre ich dankbar.