我想使用 newlib 而不是 glibc 来编译小型静态二进制文件。(我不打算交叉编译,因为二进制文件将由同一台计算机使用。)我相信我需要为此编译一个单独的 gcc ?
我编译了 gcc:
./configure --prefix=/home/myuser/Desktop/gcc-4.4.5 --libexecdir=/home/myuser/Desktop/gcc-4.4.5 --libdir=/home/myuser/Desktop/gcc-4.4。 5 --with-gxx-include-dir=/home/myuser/Desktop/gcc-4.4.5 --enable-languages=c --enable-libmudflap --disable-multilib --disable-libssp --disable-nls --with-newlib --with-gnu-as --with-gnu-ld --with-system-zlib 制作
它编译时没有错误,但现在当我尝试编译一个简单的 Hello World!它想使用 /usr 中的标头而不是我上面指定的路径的程序。这些是一些错误:
在 /home/myprogram/Desktop/myprogram.c:1 包含的文件中: /usr/include/stdio.h:34:21:错误:stddef.h:没有这样的文件或目录 在 /usr/include/stdio.h:75 包含的文件中, 来自/home/myprogram/Desktop/myprogram.c:1: /usr/include/libio.h:53:21:错误:stdarg.h:没有这样的文件或目录 在 /usr/include/stdio.h:75 包含的文件中, 来自/home/myprogram/Desktop/myprogram.c:1: /usr/include/libio.h:332:错误:“size_t”之前的预期说明符限定符列表 /usr/include/libio.h:364:错误:预期的声明说明符或“...”在“size_t”之前 /usr/include/libio.h:373:错误:预期的声明说明符或“...”在“size_t”之前
我究竟做错了什么 ?是否需要编译新的 gcc 或者我可以使用现有的 gcc 并使用 newlib 而不是 glibc ???