1.在Release模式下运行,将Release模式下的“可执行文件”复制到一个新建的目录(非中文),比如testDir目录,test“可执行文件”;
2.拷贝可能会使用到的DLL,配置文件;
3.在该目录中新建脚本copylib.sh。
4.在copylib.sh中添加如下内容,注意,此时通过vi copylib.sh打开该shell文本,切换到末行模式(请看上一篇博客),:set 查看fileformat的格式是否为unix,shell只支持Unix,如为dos,需要通过:set ff=unix,(更改格式):wq,(保存)将其转换为unix格式。此步骤非常重要!!!
1 #!/bin/bash
2
3 LibDir=$PWD"/lib"
4 Target=$1
5
6 lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))
7
8 $(mkdir $LibDir)
9
10 for Variable in ${lib_array[@]}
11 do
12 cp "$Variable" $LibDir
13 done
其中, giptables 是运行copylib.sh 脚本的参数,脚本实际上是调用了 ldd ocs指令获得ocs运行时需要哪些库,并将库都复制放到当前目录的lib文件夹中。
5.打开终端并进入当前文件夹,输入./copylib.sh test.
6.运行完上述指令后,会在同目录下生成lib文件夹。
7.将test的可执行程序和上一步lib里面的文件全部复制到testDir文件夹中。并将lib文件删除。
此时,双击test即可运行!!!