首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MacOs:如何更改C++编译器和stdlib

MacOs:如何更改C++编译器和stdlib
EN

Stack Overflow用户
提问于 2020-09-27 17:38:19
回答 1查看 1K关注 0票数 0

我有一个带有C++ (和conan)的CMake项目,我想将编译器切换到GCC-10,以及相应的stdlibc++。我该如何在MacOS (大苏尔)上做到这一点。

在cmake which g++-10命令中指定which g++-10可以成功地切换到系统上的g++ 10编译器(随brew一起安装)。但是,我没有看到包含和stdlib被更改的任何指示符。

我的命令看起来是:

代码语言:javascript
复制
/usr/local/bin/g++-10 -DCONCORE_USE_GLM=1 -DCONCORE_USE_OPENMP=1 -DCONCORE_USE_TBB=1 -DRC_USE_RTTI -I../test/. -I../test/../include -I../include -isystem /usr/local/Cellar/tbb/2020_U3/include -isystem /Users/lucteo/.conan/data/Catch2/2.11.0/catchorg/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include -isystem /Users/lucteo/.conan/data/rapidcheck/20200131/_/_/package/d2dbafdccc1ddd834eb76a31bdfdc6cc51e23ec1/include -fsanitize=address -fsanitize=undefined  -D_GLIBCXX_USE_CXX11_ABI=1 -O3 -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -Wall -std=gnu++17 -MD -MT test/CMakeFiles/test.concore.dir/func/test_serializers.cpp.o -MF test/CMakeFiles/test.concore.dir/func/test_serializers.cpp.o.d -o test/CMakeFiles/test.concore.dir/func/test_serializers.cpp.o -c ../test/func/test_serializers.cpp

转换编译器和stdlib的最佳方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-09-27 18:14:19

要更改stdlib,需要向编译器提供-stdlib=stdlibc++标志,以便激活stdlibc++。这可以通过ccmake (打开高级模式(有t),并将CMAKE_CXX_FLAGS设置为-stdlib=stdlibc++)或通过CMakeLists.txt中的等效指令来完成:

代码语言:javascript
复制
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=stdlibc++")

您还可能需要set(CMAKE_EXE_LINKER_FLAGS "-stdlib=stdlibc++")

代码语言:javascript
复制
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=stdlibc++")

若要更新conan (例如default),请使用以下命令:

代码语言:javascript
复制
conan profile update settings.compiler.libcxx=stdlibc++ default

注: -stdlib是一个Clang旗帜,不会与GCC发布的任何版本一起工作。GCC总是使用libstdc++,除非您告诉它不使用带有-nostdlib选项的标准库(在这种情况下,您需要避免使用任何标准库特性,或者使用-I-L-l标志将其指向另一组标头和库文件)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64091439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档