集成libcpr,编译失败,error: bad value (‘armv8-a+crc‘) for ‘-march=‘ switch

服务端集成libcpr库的时候,编译失败,报错error: bad value ('armv8-a+crc') for '-march=' switch,

 

#30 25.32 cc1: error: bad value ('armv8-a+crc') for '-march=' switch

#30 25.32 cc1: note: valid arguments to '-march=' switch are: nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client icelake-server cascadelake tigerlake bonnell atom silvermont slm goldmont goldmont-plus tremont knl knm x86-64 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 znver2 btver1 btver2 native

#30 25.33 make[2]: *** [_deps/zlib-build/CMakeFiles/zlib.dir/build.make:370: _deps/zlib-build/CMakeFiles/zlib.dir/arch/arm/crc32_acle.c.o] Error 1

#30 25.33 make[1]: *** [CMakeFiles/Makefile2:212: _deps/zlib-build/CMakeFiles/zlib.dir/all] Error 2

#30 25.33 make[1]: *** Waiting for unfinished jobs....

怎么解决呢?

首先我们发现是编译zlib的时候报错了

 通过报错我们可以发现是系统的架构检测错误

我们去CMAKE里看下

发现是通过检测这个字段是否为TRUE判断系统架构的,从而编译的,那么这个字段子哪里设置的呢?

我们发现是在cmake文件夹里的cmake文件里设置的

 

进一步看下ARCH在那里定义的

 

但是通过uname -m 和lscpu | grep Architecture 检测都是x86_64

 那么需要看下是否在那里设置了ARCH?

发现在初始的的cmake里设置了系统架构,至此问题解决,把这个注释掉,成功编译程序

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部