Linux学习笔记——如何在交叉编译时使用共享库

Linux学习笔记——如何在交叉编译时使用共享库

在较为复杂的项目中会利用到交叉编译得到的共享库(*.so文件)。在这种情况下便会产生以下疑问,例如:
    【1】交叉编译时的共享库是否需要放置于目标板中,如果需要放置在哪个目录中。
    【2】交叉编译时的共享库是否需要放置于宿主机中,如果需要放置于哪个目录中。
    【3】交叉编译时如何指定共享库
    【4】程序运行时如何查找共享库
 

 

【1】交叉编译时的共享库是否需要放置于目标板中,如果需要放置在哪个目录中。
    交叉编译之后的共享库需要复制到目标板中,最好放置于/usr/lib或/lib中,当然也有其他的方法,在这里不详细说明。

【2】交叉编译时的共享库是否需要放置于宿主机中,如果需要放置于哪个目录中。
    交叉编译时确切的说链接过程中需要指定共享库的问题,通过-L指定目录,通过-l指定共享库名称。但是此时交叉编译的共享库最好不要放置于宿主机的/lib或/usr/lib中,以免产生混淆。
    综合【1】和【2】,libtest.so同时存在于目标板和宿主机中。

【3】交叉编译时如何指定共享库

    通过-L指定目录,通过-l指定共享库名称

 

【4】程序运行时如何查找共享库

 最直观的方法,复制到/usr/lib目录中,让linux系统自动查找。

 

对于处于默认库搜索路径之外的库,需要将库的位置添加到库的搜索路径之中。

你可能感兴趣的:(C/C++,嵌入式linux)