免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3216 | 回复: 8
打印 上一主题 下一主题

紧急求助!!solaris 环境下C++程序运行问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-30 14:02 |只看该作者 |倒序浏览
第一次使用solaris系统\r\n原来有一个用C++在linux redhat enterprise 3.0下编写的应用程序,在原环境下编译通过运行一切正常,现在移植到solaris环境下,无法运行报错为\r\n\r\nld.so.1: ./test: fatal: libstdc++.so.2.10.0: open failed: No such file or directory\r\n\r\n后来在solaris环境下编写了一段测试用的C++ 代码,只是一个简单的printf指令,使用g++编译正常,但是运行时报一样的错误,估计是路径设置错误,在网上查阅相关资料之后使用\r\nset LD_LIBRARY_PATH=/usr/local/lib\r\n指令设置变量(我机器上的libstdc++.so.2.10.0是保存在路径/usr/local/lib下),还是抱一样的错误,请高手指教,在线等,谢谢

论坛徽章:
1
狮子座
日期:2013-09-02 12:10:41
2 [报告]
发表于 2006-11-30 16:36 |只看该作者
你在solaris下使用的是C++还是要使用gcc编译?如果使用c++是否安装了c++软件,如果使用gcc,是否安装了gcc的lib库?

论坛徽章:
0
3 [报告]
发表于 2006-11-30 17:02 |只看该作者
我现在是使用g++来进行编译,编译没有问题,但是编译成功后生成的文件运行时报错,错误已经给出,现在是需要的报在/usr/local/lib路径下,文件执行时无法找到,有什么办法能够指定文件执行时搜索包(libstdc++.so.2.10.0)的路径?

论坛徽章:
1
狮子座
日期:2013-09-02 12:10:41
4 [报告]
发表于 2006-11-30 17:05 |只看该作者
看你用的什么shell去执行这个文件。你也可以编辑/etc/profile文件加入\r\nLD_LIBRARY_PATH=/usr/local/lib\r\nexport LD_LIBRARY_PATH\r\n然后执行. /etc/profile\r\n注意.后面是一个空格,让这个变量生效。\r\n查看是否有这个路径# echo $LD_LIBRARY_PATH\n\n[ 本帖最后由 byuq 于 2006-11-30 17:07 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2006-11-30 17:15 |只看该作者
因我我只是solaris服务器上的普通用户,我想通过修改HOME/.cshrc文件来设定参数LD_LIBRARY_PATH,我的shell是csh,我在.cshrc文件中写入如你所示的语句,重新登陆服务器,系统报错:\r\n\r\nLD_LIBRARY_PATH=/usr/local/lib: Command not found\r\nexport: Command not found\r\n\r\n请指教

论坛徽章:
1
狮子座
日期:2013-09-02 12:10:41
6 [报告]
发表于 2006-11-30 17:27 |只看该作者
csh就是用set LD_LIBRARY_PATH=/usr/local/lib设置环境变量的。

论坛徽章:
1
狮子座
日期:2013-09-02 12:10:41
7 [报告]
发表于 2006-11-30 17:28 |只看该作者
你也可以使用truss后面跟你的命令./test去看看它去调用那些库文件。

论坛徽章:
0
8 [报告]
发表于 2006-11-30 17:36 |只看该作者
我现在已经设置了LD_LIBRARY_PATH参数,而且echo显示设置成功,但是执行的时候还是抱相同的错误,不过我现在把/usr/local/lib/libstdc++.so.2.10.0 文件拷贝到/usr/lib路径下,文件就能正常执行了,不过我还是想搞清楚为什么我参数设置成功但是文件执行的时候却没有去指定的路径下去读相应的包,多谢

论坛徽章:
1
狮子座
日期:2013-09-02 12:10:41
9 [报告]
发表于 2006-11-30 17:49 |只看该作者
你的程序调用的别的命令时,LD_LIBRARY_PATH的值对于别的命令来说还是系统默认/usr/lib目录。而且你要是设置自己的库文件的时候最好把系统默认的设置保留。\r\nset LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib\n\n[ 本帖最后由 byuq 于 2006-11-30 17:52 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP