我正在使用 64 位 GNAT GPL 2012 运行 Debian。我可以gnatmake
通过以下-largs -Wl,-v
标志告诉我将哪个命令行发送到系统链接器:
$ gnatmake -f hello.adb -largs -Wl,-v
gcc -c hello.adb
gnatbind -x hello.ali
gnatlink hello.ali -Wl,-v
collect2 version 4.5.4 20120510 for GNAT GPL 2012 (20120509) (x86-64 Linux/ELF)
/opt/gnat-gpl-2012/bin/../libexec/gcc/x86_64-pc-linux-gnu/4.5.4/ld --eh-frame-hdr -m
elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o hello
/usr/lib/../lib64/crt1.o /usr/lib/../lib64/crti.o
/opt/gnat-gpl-2012/bin/../lib/gcc/x86_64-pc-linux-gnu/4.5.4/crtbegin.o
-L./ -L/opt/gnat-gpl-2012/lib/gcc/x86_64-pc-linux-gnu/4.5.4/adalib/
-L/opt/gnat-gpl-2012/bin/../lib/gcc/x86_64-pc-linux-gnu/4.5.4
-L/opt/gnat-gpl-2012/bin/../lib/gcc
-L/opt/gnat-gpl-2012/bin/../lib/gcc/x86_64-pc-linux-gnu/4.5.4/../../../../lib64
-L/lib/../lib64 -L/usr/lib/../lib64
-L/opt/gnat-gpl-2012/bin/../lib/gcc/x86_64-pc-linux-gnu/4.5.4/../../..
b~hello.o ./hello.o -v /opt/gnat-gpl-2012/lib/gcc/x86_64-pc-linux-gnu/4.5.4/adalib/libgnat.a
-lgcc -lgcc_eh -lc -lgcc -lgcc_eh /opt/gnat-gpl-2012/bin/../lib/gcc/x86_64-pc-linux-gnu/4.5.4/crtend.o
/usr/lib/../lib64/crtn.o
GNU ld (GNU Binutils) 2.20
这表明它正在crt1.o
从 /usr/lib64 (YMMV) 获取(和其他)。
我想知道您是否需要(重新)安装 Ubuntu C 编译器?(我认为是sudo apt-get build-essentials
)。
另一方面,使用dpkg --search
(查找安装了特定文件的已安装包)表明您可能只需要 packagelibc
或libc-dev
.