我正在我的multilib CLFS机器上使用CMake编译32位MySQL 5.6.6-m9。 64位编译没有问题,但是32位失败:
/sources/mysql-5.6.6-m9/mysys/lf_alloc-pin.c: In function 'lf_pinbox_init':
/sources/mysql-5.6.6-m9/mysys/lf_alloc-pin.c:118:3: error: size of array 'compile_time_assert' is negative
lf_alloc-pin.c的第118行是:
compile_time_assert(sizeof(LF_PINS) == 64);
导致失败的原因是将-m32添加到CXX和CPP标志。如果我删除-m32,它编译得很好,但编译64位库。我需要32位库。
有什么方法可以解决这个问题吗?从C文件中删除compile_time_assert行会不好?