找不到qt的问题
时间:2005-11-06
来源:互联网
自己编译软件,configure时一直说
checking for Qt... configure: error: Qt (>= Qt 3.0) (library qt-mt) not found. Please check your installation!
For more details about this problem, look at the end of config.log.
Make sure that you have compiled Qt with thread support!
如果用--with-qt-libraries=/usr/lib64/qt3/lib64的话qt是找到了,但是随后却报
checking for KDE... configure: error:
in the prefix, you've chosen, are no KDE libraries installed. This will fail.
So, check this please and use another prefix!
这是怎么回事呢? >_<
作者: pfermat 发布时间: 2005-11-06
作者: 三翻领 发布时间: 2005-11-06
结果还是不行,还有新错误,我到现在还没在x86_64下编译成功过任何东西
作者: Thruth 发布时间: 2005-11-07
作者: Thruth 发布时间: 2005-11-07
qt3-devel
kdelibs3-devel
gcc
gcc-c++
用这个语句configure
./configure --with-qt-dir=/usr/lib/qt3 --with-qt-includes=/usr/lib/qt3/include --with-qt-libs=/usr/lib/qt3/lib64 --enable-libsuffix=64 --prefix=`kde-config --prefix`
然后如果显示Good怎么样
make
su
输入密码
make install
作者: Thruth 发布时间: 2005-11-07
作者: 三翻领 发布时间: 2005-11-07
作者: Thruth 发布时间: 2005-11-08
作者: Thruth
是的,你编完麻烦通报一声情况,我编好装了,但每次用都crash
|
编译成功
但运行.....
zjtest@sbczj:/usr/local/share> eva
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
eva: cannot connect to X server :0.0
zjtest@sbczj:/usr/local/share> eva
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
eva: cannot connect to X server :0.0
zjtest@sbczj:/usr/local/share>
出错,还不知道怎么解决。
作者: zj21cn 发布时间: 2006-05-22
编译./configure -prefix=/usr/local/qt -thread -qt-gif -system-zlib -system-libpng -system-libjpeg -stl
make
make install
为安装KDE准备
按照安装说明更改一下变量/etc/profile使每次启动时都会自动设置.添加
QTDIR=/usr/local/qt
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH MANPATH LD_LIBRARY_PATH
在/etc/ld.so.conf中加上下面一行(安装KDE时需要)
/usr/local/qt/lib
安装KDE(略)
设置环境变量KDEDIR和PATH:
在/etc/profile添加
export KDEDIR=/usr/local/kde
export PATH=$KDEDIR/bin:$PATH
这样你的KDE就可以正常使用了
作者: class3 发布时间: 2006-05-22
出现上述错误提示的原因可以看下面的文字(网络上找到的):
-----------------
以另一个用户身份使用 GUI 应用程序
您可能注意到了,我们在 前一节 中讨论 su 命令时,只运行了在终端窗口中显示输出的命令。要能够运行 GUI 应用程序,您可能必须采取一些额外的步骤,具体步骤因 Linux 发行版本而异。 Linux 上的 GUI 应用程序使用 X Window 系统(X Window System),它旨在允许多个用户使用窗口化的应用程序通过网络访问计算机。
X 显示器是通过 hostname:displaynumber.screennumber 这种形式的名称知晓的。运行在工作站(如 PC)上的 Linux 通常只有一个带有单个屏幕的显示器。在这种情况下,displayname 可以(并且通常会)被省略,所以显示器称为 :0.0。我们假设您在阅读本文时是使用图形方式登录的,因此您的启动已经为您设置了 DISPLAY 环境变量。但是,当您使用 su 切换到不同用户时,不会设置这个变量。清单 4 展示了如何使用 echo 命令来显示 DISPLAY 环境变量,然后切换到另一个用户并尝试启动 xclock 应用程序,最初 DISPLAY 环境变量是空的,然后将其值设置为 :0.0。这是 SUSE SLES9 系统中的示例。在 Red Hat 系统上有所不同,后面我们将会提到。
#尝试启动 xclock
ian@lyrebird:~> whoami
ian
ian@lyrebird:~> echo $DISPLAY
:0.0
ian@lyrebird:~> su -
Password:
lyrebird:~ # echo $DISPLAY
lyrebird:~ # xclock
Error: Can't open display:
lyrebird:~ # export DISPLAY=:0.0
lyrebird:~ # echo $DISPLAY
:0.0
lyrebird:~ # xclock
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Error: Can't open display: :0.0
lyrebird:~ # export XAUTHORITY=~ian/.Xauthority
lyrebird:~ # xclock
lyrebird:~ # ls -l ~ian/.Xauthority
-rw------- 1 ian users 206 Feb 18 16:20 /home/ian/.Xauthority
让我们研究一下这里发生的情况。在本例中,用户 ian 登录到系统,并且正如我们所期望的那样,其 DISPLAY 环境变量被设置为 :0.0。当 ian 切换成用户 root 时,不会去设置 DISPLAY 环境变量,并且因为 xclock 应用程序不能打开显示器,所以启动 xclock 的尝试失败了。
因此,替代用户 root 设置了 DISPLAY 环境变量,并将它导出,以便它可用于可能从该终端窗口启动的其他 shell。请注意,设置和导出环境变量时不使用 $ 前缀符号,但显示和用其他方法使用该值时则使用 $ 作为前缀。也要注意,如果 su 命令省略了 -(减号)符号,那么 DISPLAY 环境就已经如用户 ian 那样被设置。可是,即使设置了环境变量,但 xclock 启动还是失败了。
第二次失败的原因在于 X 的客户机/服务器本质。尽管 root 运行在该系统惟一一个显示器上的窗口中,但该显示器实际上由最初登录的用户(在本例中是 ian)所拥有。对于 Linux 系统中的本地显示器,认证通常是依赖于所谓的 MIT-MAGIC-COOKIE-1,每次 X 服务器重新启动时它都会重新生成。用户可以从他的(或她的)目录中的 .Xauthority 将 magic cookie 导出 (使用 xauth extract 命令),并把它提供给另一个用户,那个用户可以使用 xauth merge 将其 融合 到自己的 .Xauthority 文件。作为另一种选择,用户可以通过 xhost +local: 命令来授权其他用户对本地系统的访问。
有另一个可选方法,即将 XAUTHORITY 环境变量设置为包含正确 MIT-MAGIC-COOKIE-1 的文件的位置。当切换到 root 时,这样做很容易,因为 root 可以读取其他用户所拥有的文件。实际上,在清单 4 中我们就是这样做的,所以,在设置并将 XAUTHORITY 导出到 ~ian/.Xauthority 文件后,root 现在就可以在桌面上打开图形窗口。我们说过将会提及 Red Hat 系统的不同之处,那就是在 Red Hat 系统上使用 su 切换到 root 与 SUSE 系统稍有不同,它会为您自动完成显示器的设置。
那么,如果是切换到另一个非 root 用户时会怎样呢?在清单 4 中,您会注意到,用户 ian 的 .Xauthority 文件只允许所有者进行读写访问。甚至是同组的成员也不能读取它,这正是您所希望的,除非您乐意让某人打开一个接管您的屏幕并禁止您做任务事情的应用程序! 所以,如果您从 .Xauthority 文件中导出了一个 MIT-MAGIC-COOKIE-1,那么必须要找到某个安全的方式来将它交给您信任的非 root 用户。由于这方面的困难,您可能会发现,对单用户的 Linux 系统来说,xhost 更好用,尽管 xauth 方法通常比 xhost 命令用得更多。不过,要谨记 X Windows 系统的网络传统,以便您不会偶然地授予他人不在计划之内的权限,从而开放您的系统,让任意网络用户都可以在您的桌面上打开窗口。
用户 ian 可以使用 xhost 来赋与所有本地用户在显示器(:0.0)上打开应用程序的权限。在您的桌面上打开另一个终端窗口并输入这条命令:
xhost +local:
请注意末尾的冒号(:)。这样将允许同一系统上的其他用户连接到 X 服务器并打开窗口。由于您使用的是一个单用户系统,这就意味着您可以 su 到一个任意的非 root 用户,而且现在可以启动 xclock 或其他 X 应用程序了。
有关使用 xauth 和 xhost 命令的更多详细信息,可以根据需要使用命令 info xauth、man xauth、 info xhost 或者 man xhost 来查看联机手册页。如果您对 X 连接的安全**兴趣,可以从 Xsecure 的手册页入手。
--------------
现在可以用了
作者: zj21cn 发布时间: 2006-05-22
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28