shell | 脚本传参 - 打包动静态库

脚本传参

用户在运行 shell 脚本的时候,可在其后面带参将参数传到文件中,如:
$1 表示运行脚本后面带的第一个参数, $2 表示运行脚本后面带的第二个参数,以此类推...
实例:
脚本文件 strip_script.sh 内容

#!/bin/sh
arm-linux-gnueabihf-strip $1;

运行命令 ./strip_script.sh proc1 等同于命令:

arm-linux-gnueabihf-strip proc1;

打包动态库(交叉编译)

基于已经编译生成的 aaa.o bbb.o 文件打包生成动态库 libBBB.so 文件,期间链接已经存在的动态库文件 libAAA.so:

arm-linux-gnueabihf-gcc -L"../libAAA_path/" -shared -fPIC -o "libBBB.so" debug/aaa.o debug/bbb.o -lAAA;

说明:链接过程libBBB.so 与 libAAAI.so 存在依赖关系,以上命令其实并不需要指定 libAAA.so 的路径和文件,同样可以生成 libBBB.so 文件

打包静态库(交叉编译)

基于已经编译生成的 aaa.o bbb.o 文件打包生成静态库 libBBB.a 文件,期间链接已经存在的动态库文件 libAAA.so:

arm-linux-gnueabihf-ar -r libBBB.a debug/aaa.o debug/bbb.o;

说明:libBBB.a 库函数的实现需要依赖于动态库文件 libAAA.so,但是如上面所描述,生成静态库文件并不需要特别指定所依赖的 libAAA.so 路径和文件名。
但是在实际使用 libBBB.a 静态库的时候,是否需要带上 libAAA.so,这部分还需要验证。

posted @ 2021-07-08 23:42  CristL  阅读(130)  评论(0编辑  收藏  举报