linux程序自启动无法加载so库问题

来源:互联网 发布:淘宝海报素材 编辑:程序博客网 时间:2024/05/16 18:31

问题描述:

在init.d/rcS 文件中配置好了自启动程序命令如下:

并且已经将hello程序和ZCodeDecoer程序放到了wwl文件夹下,如图:

但是按电源键启动系统时,当rcS文件配置成:

hello程序可以成功自启动,但是当rcS文件配置成:

启动ZCodeDecoder程序时,却无法启动,错误信息如下:

 

分析问题:

     因为我们的ZCodeDecoder程序加载了libzzm_arm.so库文件,当前程序启动时没有找到该库文件。问题变成了如何才能找到该库文件。根据论坛上的答案经过很多种尝试都失败了。后来讨论后qtopia为什么可以自启动成功?它有调用库吗?它的库是怎么加载进来的?于是我们再分析rcS文件,我们看到:

这一句脚本,就是用来加载库的。

解决问题:

我们尝试将库文件所在的目录加到该脚本中,如下:

最终我们看到arm板上的程序成功运行起来了,如下:

另外:我们也可以将so文件放到arm板的/usr/lib文件夹下,或者/lib文件夹下

 

推荐一篇分析该问题的文章:

http://blog.sina.com.cn/s/blog_485c8cc50100eisn.html