Der "richtige" Weg, dies in CMake im Moment zu tun, bis eine bestimmte Basisfunktion hinzugefügt wird, um Standardbibliotheken zu wechseln, ist die Verwendung einer Toolchain-Datei.
In dieser Toolchain-Datei geben Sie den Compiler usw. ähnlich wie in den anderen Antworten hier an.
ABER das Tolle an Toolchains ist, dass sie schnell ausgetauscht werden können, entweder über die Befehlszeile (mithilfe von -DCMAKE_TOOLCHAIN_FILE=path/to/file) ODER in VSCode mit installierter CMakeTools-Erweiterung und wahrscheinlich auch anderen Editoren.
Aber Ihre eigenen Toolchain-Dateien von Hand codieren zu müssen, ist eine weitere obskure Aufgabe! Kein Spaß!
Glücklicherweise bin ich auf diesen Github gestoßen, der eine Reihe von ihnen verwaltet, sodass Sie sie nicht von Grund auf neu schreiben müssen! Es sollte viel weniger wahrscheinlich sein, sie falsch zu verstehen.
https://github.com/ruslo/polly
Vergessen Sie nicht, den Compiler auf clang++:
zu setzenset(CMAKE_CXX_COMPILER "clang++")
Löschen Sie außerdem die von cmake generierten Dateien (löschen Sie den Ordner CMakeFiles
und CMakeCache.txt
).
Abhängig von Ihrem System kann es auch hilfreich sein,
einzustellenset(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++abi")