【发布时间】:2017-02-24 14:03:40
【问题描述】:
我想在使用gcc 和clang 之间进行选择,也想在libstdc++ 和libc++ 之间进行选择。 This site 解释了如何混合编译器和标准库。我可以通过调用cmake 来选择编译器,比如CC=gcc CCX=g++ cmake... 或CC=clang...。
问题是libstdc++ 我需要使用标志-I/usr/include/c++/5 和libc++ -I/usr/include/c++/v1。
出于可移植性的原因,我不想在CMakeListst.txt 中包含上述路径,也不想将其作为命令行参数。有没有办法做到这一点并让cmake 自动检测它?
【问题讨论】:
-
你的意思是当你运行cmake时,你要选择一个编译器(gcc/clang)和c++标准库(libstdc++/libc++)。那么,你需要camke脚本吗,比如
if( clang )...else if( gcc )? -
@CodeDreamer,我编辑了问题。