Cara yang "tepat" untuk melakukan ini di CMake saat ini, hingga fitur dasar tertentu ditambahkan untuk mengganti pustaka standar, yaitu dengan menggunakan file rantai alat.
Dalam file toolchain itu Anda menentukan kompiler, dll. Mirip dengan jawaban lain di sini.
TETAPI yang hebat tentang toolchain adalah mereka dapat ditukar dengan cepat baik di commandline (menggunakan -DCMAKE_TOOLCHAIN_FILE=path/to/file) ATAU di VSCode dengan ekstensi CMakeTools terpasang, dan mungkin juga editor lain.
Tetapi harus menyerahkan kode file toolchain Anda sendiri adalah tugas lain yang tidak jelas! Tidak menyenangkan!
Untungnya, saya menemukan github ini yang menyimpan sekumpulan dari mereka sehingga Anda tidak perlu menulisnya dari awal! Seharusnya jauh lebih kecil kemungkinannya untuk membuat mereka salah.
https://github.com/ruslo/polly
Jangan lupa untuk menyetel kompiler ke dentang++:
set(CMAKE_CXX_COMPILER "clang++")
Juga, bersihkan file yang dihasilkan cmake (hapus folder CMakeFiles
dan CMakeCache.txt
).
Bergantung pada sistem Anda, mungkin juga membantu untuk menyetel
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++abi")