我在花店图书馆再次编译申请人时遇到了麻烦。原来我对花店有一个更大的问题(最新的 2010 Adacore GPL 下载和 Debian 存档中的 2009 版本都导致相同的错误)。Florist 有一些低级问题,但是当我查看生成的文件时,它似乎正确地包含了 errno.h。
这是我建立花店时发生的事情:
对“c_ntohs”的未定义引用 ./posix-io.o:在函数“posix__io__open”中:posix-io.adb:(.text+0x4d1):对“__gnat_florist_open”的未定义引用。/posix-io.o:在函数中posix__io__open_or_create': posix-io.adb:(.text+0xfca): undefined reference to `__gnat_florist_open' collect2: ld returned 1 exit status gnatlink: error when calling /usr/bin/gcc-4.4 gnatmake: *** link failed。josh@Mini10:~/Demo$ gnatbind -I/usr/share/ada/adainclude/florist -I/usr/include 演示 josh@Mini10:~/Demo$ gnatlink demo ./posix-implementation.o: 在函数 `posix__implementation__set_ada_error_code ': posix-implementation.adb:(.text+0x19e): 未定义引用 `store_errno' ./posix-implementation.o: 在函数 `posix__implementation__get_ada_error_code': posix-implementation.adb:(.text+0x1ab):
如果正确包含 errno.h 存在问题,则此错误似乎很常见。但据我从 posix-cc 文件中可以看出,这一切看起来都是正确的。有人对如何解决这个问题有任何建议吗?Florist 的 make 文件构建正确,所以我不知道这是从哪里来的。