我正在努力建立bkchaind.一个构建选项是使用cmake,所以我用Homebrew(OSX 10.9.1)安装它.cmake但是,当我这样做时,我得到:
[ 2%] Building C object json-rpc-cpp/src/jsonrpc/CMakeFiles/jsonrpcStatic.dir/connectors/mongoose.c.o
error: invalid argument '-std=c++11' not allowed with 'C/ObjC'
Run Code Online (Sandbox Code Playgroud)
我不太确定为什么cmake会尝试将特定于C++的编译器选项传递给C/ObjC文件.如果我在主CMakeLists.txt文件中注释掉这一行:
ADD_DEFINITIONS(-std=c++11)
Run Code Online (Sandbox Code Playgroud)
然后它不再将标志传递给任何文件.但是,C++文件确实需要它.如何cmake包含C++文件的标志,但不包括C文件?