编译没有共享库的Ada源

时间:2013-08-15 22:49:43

标签: gcc shared-libraries static-libraries ada

如何在here环境中从glibc编译Hello World程序并在uclibc环境中运行?

localhost:~$ readelf -d /home/localhost/hello | grep NEEDED
0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

1 个答案:

答案 0 :(得分:1)

看看dlopen()库的一组函数。您需要从源文件本身加载库。以下代码在C中,但您可以在Ada中使用Interafaces.C与C库进行互操作:

lib_handle = dlopen("/opt/lib/libctest.so", RTLD_LAZY);
if (!lib_handle) 
{
   fprintf(stderr, "%s\n", dlerror());
   exit(1);
}

访问此link寻求帮助。这个man page dlopen(3)也应该有所帮助。