主题 : 请教各位高手个问题:error:while loading shared libraries libqtopia2.so.2 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 26546
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2010-08-10
最后登录: 2010-09-02
楼主  发表于: 2010-08-11 17:17

 请教各位高手个问题:error:while loading shared libraries libqtopia2.so.2

    小弟初来宝地,想请教各位高手一个问题。我写好了一个在2440板子上的程序,点击桌面的图标,可以正常的运行我的程序。但现在我想在终端下,直接在Qtopia/bin目录下,用./mytest的方式,直接运行我的程序,系统就会出现下面的错误提示:/mytest: error while loading shared libraries: libqtopia2.so.2: cannot open shared object file: No such file or directory。
  所以我想问问各位高手,为什么点击桌面的图标就可以正常运行程序,而我用./mytest这种方式为什么就不行了呢?是不是它查找动态库的时候路径不对了,如果是的话,应该怎么解决这个问题。谢谢各位了
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-08-11 17:48
参考文件系统中/bin/qtopia里的内容在终端shell上设置环境变量。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 26546
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2010-08-10
最后登录: 2010-09-02
2楼  发表于: 2010-08-12 09:23
不好意思,初学这个,所以你说的那个不太明白,能说的再详细些吗?
级别: 新手上路
UID: 26546
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2010-08-10
最后登录: 2010-09-02
3楼  发表于: 2010-08-12 09:26

 回 1楼(kasim) 的帖子

不好意思,初学这个,所以你说的那个不太明白,能说的再详细些吗?谢谢了
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2010-08-12 11:17
qt应用程序的启动依赖于一些qt相关的环境变量。在qtopia的桌面上通过快捷方式启动程序时,这些环境变量是从qtopia继承的。但如果自己从shell的命令行启动,没有人帮你事先设置过,需要你自己设置。
至于需要哪些,在友善之臂提供的文件系统里的/bin/qtopia文件里就有。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 26546
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2010-08-10
最后登录: 2010-09-02
5楼  发表于: 2010-08-12 11:41

 回 4楼(kasim) 的帖子

/bin/qtopia脚本,不是在开机启动的时候已经由rcS脚本加载过了吗?为什么我运行程序的时候还要重新加载里面的那些环境变量呢?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
6楼  发表于: 2010-08-12 14:44

 回 5楼(剑帝莱维) 的帖子

因为你的应用程序和/bin/qtopia不在同一个shell里
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 26546
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2010-08-10
最后登录: 2010-09-02
7楼  发表于: 2010-08-12 15:06

 回 6楼(kasim) 的帖子

哦,又有了一个新的问题。我刚才在程序运行前,在终端用export的方式设置那些变量以后,程序可以运行了。后来我在程序里用setenv函数的方式想添加那些变量,但是就不能运行程序了。后来我打印了一下环境变量,发现没有我添加的那些,但是调用setenv函数的返回值也没有报错。所以想问一下,这是为什么?还有,就是如何做到启动程序的时候设置环境变量呢?谢谢了