当前位置:  技术问答>linux和unix

紧急求救:如何让应用程序在当前目录下链接共享库so?

    来源: 互联网  发布时间:2016-02-20

    本文导语:  写了如下makefile: OUTDIR:=home/my/sbin LIBDIR:=/home/my/sbin LIBS:=$(LIBDIR)/a.so $(LIBDIR)/b.so $(LIBDIR)/c.so //{{这些内容省略 ...... ...... ....... //}} test.out: $(OBJS) g++  $^ -o $(OUTDIR)/$@   $(LIBS) 程序test.out输出在home/my/sbin下,它运行是...

写了如下makefile:

OUTDIR:=home/my/sbin
LIBDIR:=/home/my/sbin
LIBS:=$(LIBDIR)/a.so $(LIBDIR)/b.so $(LIBDIR)/c.so
//{{这些内容省略
......
......
.......
//}}
test.out: $(OBJS)
g++  $^ -o $(OUTDIR)/$@   $(LIBS)

程序test.out输出在home/my/sbin下,它运行是依赖同一个目录下的共享库a.so,b.so,c.so;编译成功后test.out可以正确运行;但是把test.out,a.so,b.so,c.so剪切到另外一个目录下,就不能正确运行了,提示找不到home/my/sbin下的a.so,b.so,c.so;请问makefile中怎么样写,才能让test.out总是在自己当前目录下找a.so,b.so,c.so?
请高手指教,谢谢了!


|
Unix为了安全,除非用户指定,否在不会在当前路径搜索执行文件和动态库的。
举个例子来说。如果楼主用root登录/(或者su),到tom的目录下用ls查看他的问文件,如果tom在他的某个目录下放一个ls的客脚本,里面写了rm -rf /*, 这个系统就完了。
对于共享库存在同样的危险。

只有MS的操作系统根本不考虑安全问题,才会在当前目录下搜索执行文件和动态库。

|
可以把 export LD_LIBRARY_PATH ....放到.profile文件中,再重新登陆下,以后再登陆以可以直接g++......了.

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求救!求救!紧急求救!为什么更新不了所指定的内容?
  • 求救!!!硬件高请进、、、、、、(十万火急,高分求救。)
  • 求救求救!!
  • 求救啊 高分求救 UNIX下关于进程通讯的问题~
  • 求救!!!求救!!!机器不能正常启动
  • 关于jdbc,求救求救!在线等待,马上给分
  • 紧急求救,root用户无权限删除文件
  • 晕,特晕...求救...
  • 高分求救~~如何取得linux下进程完整命令行字符串,就是的ps -ef 完整的全路径的CMD那一列,求救!!!!附现在的代码
  • 关于jdbc,求救求救!在线等待,马上给分 iis7站长之家
  • 求救:java里如何取整一个浮点数(不做四舍五入)
  • 紧急求救!!
  • Linux下无法启动apache 高分求救!在线等待
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题 (分不够可加)
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题
  • 求救,linux和windows之间如何联成局域网(设置),并且相互之间移动文件。
  • 求救!!在Redhat7.3下安装scim0.9.3怎么安装?
  • Linux8.0 修改字符集后,再次进系统,无图形界面问题。。。求救。。
  • SUSE网络打印机问题,在线等,求救!!
  • 散分一百,紧急求救!ROOT密码忘记


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3