Compiler errors 如何编译单机版;仅限atoi“;glibc割台 背景
我有Compiler errors 如何编译单机版;仅限atoi“;glibc割台 背景,compiler-errors,c-preprocessor,glibc,Compiler Errors,C Preprocessor,Glibc,我有glibc源代码,我想基于atoi的实现创建一个独立的库 我当前的方法(运行预处理器)扩展了一些宏,但不是全部宏 例如,这将成功: gcc-10 -E -P -o ATOI.c stdlib/atoi.c 但是,它不会将宏libc_hidden_def(atoi)扩展为atoi.c的最后一行 因此,我在尝试编译时出错,因为符号未定义: $ gcc-10 -c -o ATOI.o ATOI.c stdlib/atoi.c:29:1: warning: return type defaults
glibc
源代码,我想基于atoi
的实现创建一个独立的库
我当前的方法(运行预处理器)扩展了一些宏,但不是全部宏
例如,这将成功:
gcc-10 -E -P -o ATOI.c stdlib/atoi.c
但是,它不会将宏libc_hidden_def(atoi)
扩展为atoi.c的最后一行
因此,我在尝试编译时出错,因为符号未定义:
$ gcc-10 -c -o ATOI.o ATOI.c
stdlib/atoi.c:29:1: warning: return type defaults to 'int' [-Wimplicit-int]
29 | libc_hidden_def (atoi)
| ^~~~~~~~~~~~~~~
然后,我尝试指定这些定义出现的库,但再次陷入困境。我不明白为什么它找不到位/floatn.h
,因为我指定了-I./bits
:
$ gcc-10 -c -o ATOI.o -I./bits -I./include ATOI.c
In file included from stdlib/atoi.c:18:
./include/stdlib.h:8:10: fatal error: bits/floatn.h: No such file or directory
8 | #include <bits/floatn.h>
| ^~~~~~~~~~~~~~~
compilation terminated.
$gcc-10-c-o-ATOI.o-I./bits-I./include-ATOI.c
在stdlib/atoi.c中包含的文件中:18:
./include/stdlib.h:8:10:致命错误:bits/floatn.h:没有这样的文件或目录
8 |#包括
| ^~~~~~~~~~~~~~~
编译终止。
问题:
如果有一个configure
标志(或标志组合)来单独为atoi
构建一个单独的对象文件,我不会感到惊讶,但我不知道如何做到这一点。这样的一面魔旗存在吗
如果没有,我在编译步骤中遗漏了什么导致gcc找不到位/floatn.h