根据提供的CFLAGS选项,可以看到有两个地方重复指定了-fPIC
和-fpic
参数,这可能导致重复编译产生recomplete错误。
解决方法是去掉其中一个重复的参数即可。你可以选择保留其中一个,或者都删除。
例如,将以下部分修改为只保留一个-fPIC
参数:
CFLAGS=-std=gnu11 -fgnu89-inline -O2 -Wall -Werror -Wundef -Wwrite-strings -fPIC -fmerge-all-constants \
-I../include \
-I/home/ysz/linux-test/gcc/project/toolchain/build/glibc-2.23/setjmp \
...
或者将其修改为只保留一个-fpic
参数:
CFLAGS=-std=gnu11 -fgnu89-inline -O2 -Wall -Werror -Wundef -Wwrite-strings \
-fmerge-all-constants -fpic \
...
确保你在Makefile或构建脚本中只设置一次正确的编译选项,并且不要重复设置相同的选项。然后重新编译生成libc.a文件。
内容由零声教学AI助手提供,问题来源于学员提问