编译第三方库出错

编译quickfix源码报错如下:

Performing Test HAVE_SHARED_PTR_IN_STD_NAMESPACE

  

 

 解决:

使用电脑的编译器不支持C++11,在CMakeLists.txt里面加上:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

 

注意:  查看当前编译器支持的C++标准的方法

  命令行中运行下述命令:

gcc -E -dM - </dev/null | grep "STDC_VERSION"

对应关系如下

如果没查到,则默认是c89的标准;

#define STDC_VERSION 199901L,则默认支持的是c99标准;

#define STDC_VERSION 201112L,则默认支持的c11标准;

C ++ 98:__cplusplus是199711L
C ++ 11:__cplusplus是201103L
C ++ 14:__cplusplus是201402L
C ++ 17:__cplusplus是201703L

 

posted @ 2022-05-08 11:38  zwj鹿港小镇  阅读(110)  评论(0编辑  收藏  举报