编译错误
tqing1128 opened this issue · 6 comments
tqing1128 commented
centos 7.9.2009
gcc version 4.9.4 (GCC)
更新到最新的 master 分支后编译报错:
In file included from skynet-src/spinlock.h:50:0,
from lualib-src/lua-debugchannel.c:9:
skynet-src/atomic.h:61:46: error: unknown type name 'uintptr_t'
ATOM_CAS_POINTER(STD_ atomic_uintptr_t *ptr, uintptr_t oval, uintptr_t nval) {
^
skynet-src/atomic.h:61:62: error: unknown type name 'uintptr_t'
ATOM_CAS_POINTER(STD_ atomic_uintptr_t *ptr, uintptr_t oval, uintptr_t nval) {
从下面这个提交开始出现编译错误
Compat lua compile as cpp (#1568)
9fd7a51
是不是要升级 gcc?是的话现在要求的最低版本是多少?
terry8210 commented
升级
yum install centos-release-scl -y
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc
terry8210 commented
5.0以上
cloudwu commented
增加 #include <stdint.h> 试试?
tqing1128 commented
skynet-src/atomic.h
#ifdef __STDC_NO_ATOMICS__
...
#else
#include <stdint.h>
...
#endif
如上所示位置加了 #include <stdint.h>
之后编译正常了
只试了 macOS 和 centos,其他没有环境