Scanning dependencies of target oss_c_sdk
[ 1%] Building C object CMakeFiles/oss_c_sdk.dir/oss_c_sdk/aos_buf.o
[ 2%] Building C object CMakeFiles/oss_c_sdk.dir/oss_c_sdk/aos_crc64.o
[ 4%] Building C object CMakeFiles/oss_c_sdk.dir/oss_c_sdk/aos_fstack.o
[ 5%] Building C object CMakeFiles/oss_c_sdk.dir/oss_c_sdk/aos_http_io.o
[ 6%] Building C object CMakeFiles/oss_c_sdk.dir/oss_c_sdk/aos_log.o
[ 8%] Building C object CMakeFiles/oss_c_sdk.dir/oss_c_sdk/aos_status.o
/tmp/gpdb_need/aliyun-oss-c-sdk-3.6.0/oss_c_sdk/aos_status.c: In function ‘aos_status_parse_from_body’:
/tmp/gpdb_need/aliyun-oss-c-sdk-3.6.0/oss_c_sdk/aos_status.c:94:33: error: dereferencing pointer to incomplete type ‘mxml_node_t {aka struct _mxml_node_s}’
node_content = code_node->child->value.opaque;
^~
CMakeFiles/oss_c_sdk.dir/build.make:127: recipe for target 'CMakeFiles/oss_c_sdk.dir/oss_c_sdk/aos_status.o' failed
make[2]: * [CMakeFiles/oss_c_sdk.dir/oss_c_sdk/aos_status.o] Error 1
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/oss_c_sdk.dir/all' failed
make[1]: * [CMakeFiles/oss_c_sdk.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: * [all] Error 2
centos7下yum默认安装的xml高版本(3.*)中的mxml.h头文件中去掉了mxml_node_t结构体的完整定义,
参考:https://github.com/aliyun/aliyun-oss-c-sdk/blob/master/.travis.yml 使用稍低的mxml版本(2.9):
wget --quiet https://github.com/michaelrsweet/mxml/releases/download/release-2.9/mxml-2.9.tar.gz
tar zxf mxml-2.9.tar.gz
./configure && make && sudo make install
cmake -DMINIXML_LIBRARY=/usr/local/lib/libmxml.a .
make
应该是mxml没有正确安装,https://blog.csdn.net/weixin_36750623/article/details/84030919
请做编译环境检查,编译依赖模块检查。