相关疑难解决方法(0)

CMake禁用-std = c ++ 11标志的C文件

我正在努力建立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文件?

c++ build cmake c++11

7
推荐指数
1
解决办法
7916
查看次数

标签 统计

build ×1

c++ ×1

c++11 ×1

cmake ×1