1.查询依赖so库
查询动态库依赖的so库
ldd libXXX.so
ldd yourExe
2.拷贝依赖库到指定目录
首先根据ldd查询依赖的so库,将依赖的so库拷贝到指定文件夹
ldd your_server | awk '{print $3}' | xargs -i cp -L {
} /home/name/bin/
3.添加依赖库的指定路径
#env.sh 指定当前路径为库的查找路径
export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
4.pkg-config
pkg-config是一个linux下的命令,用于获得某一个库/模块的所有编译相关的信息。
#可以看到其输出是gtk的头文件的路径
pkg-config --cflags gtk+-2.0
gcc main.c `pkg-config --cflags --libs gtk+-2.0` -o main
#上面的编译命令中,`pkg-config --cflags --libs gtk+-2.0`的作用就如前面所说的,把gtk的头文件路径和库文件列出来,让编译去获取。--cflags和--libs分别指定头文件和库文件。
#PS:命令中的`不是引号,而是数字1左边那个键位的那个符号。
因为pkg-config也只是一个命令,所以不是你安装了一个第三方的库,pkg-config就能知道第三方库的头文件和库文件所在的位置。pkg-config命令是通过查询XXX.pc文件而知道这些的。我们所需要做的是,写一个属于自己的库的.pc文件。