我按照网上说的做了个shell
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname $*
但是 还是无法运行
我系统 ubuntu10.04
拿到 ubuntu 12.04 运行不了
问题解决了 把库 文件盒程序放到一起 用上边的 shell命令就可以运行了 就是要注意权限 |
————————————————————————————————————
方法一,也是最简单的,静态连接编译。怎么没有人想到这个?
方法二,动态链接的话,需要将你的可执行文件和so文件放在一块儿,然后写一个脚本,以后就运行脚本就可以了。文件名要相同 后加 .sh
脚本如下。
Perl code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#!/bin/sh
appname=`basename
$0
| sed s,\.sh$,,`
dirname=`dirname
$0
`
tmp=
"${dirname#?}"
if
[
"${dirname%$tmp}"
!=
"/"
]; then
dirname=
$PWD
/
$dirname
fi
LD_LIBRARY_PATH=
$dirname
export LD_LIBRARY_PATH
$dirname
/
$appname
"$@"
|
参考链接
Deploying an Application on X11 Platforms
BTW: 最近在研究 CSDN 上的舆论导向作用。 大家的回帖跟贴 会有向导性。 如果一楼提及静态链接的话,很多人都会提及。
看来一楼的作用还是很巨大的,当然还有 能者的导向性。比如 zhu_xz