运行程序,报没有libxxx.so的问题


【Q】

/mnt/hgfs/VM_SHARE/cpp_prj/so_build

在目录上目录面建立一个so_example.c

 

//so_example.c
#include <stdio.h>
void foo()
{
	printf("calling library function\n");
}


编译动态库:gcc -fPIC -shared so_example.c -o libso_example.so

同一目录建立文件 call_so_example_foo.c 

//call_so_example_foo.c 
int main(void){ foo(); return 0;}

编译程序:gcc -L. -lso_example call_so_example_foo.c  -o call_so_example_foo

执行程序./call_so_example_foo,

报不存在libso_example.so

【A】

在文件/etc/ld.so.conf中添加libso_example.so所在路径:/mnt/hgfs/VM_SHARE/cpp_prj/so_build。

vim /etc/ld.so.conf

/usr/local/lib
/mnt/hgfs/VM_SHARE/cpp_prj/so_build

执行ldconfig命令,使新生成libso_example.so刷新到动态装入程序(ld.so)所需的连接和缓存文件中。

执行程序./call_so_example_foo,

打印calling library function。

问题解决。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值