我正在尝试编译并安装一些软件。当我执行此操作时./configure
。我收到以下错误:
检查 Qt... 配置:错误:未找到 Qt (>= Qt 3.0.2) (标头和库)。请检查您的安装!
因此我安装了以下包,认为这可以解决问题。
sudo apt-get install libqt4-dev
我以为 libqt4-dev 会安装头文件和库。但是,我仍然遇到同样的问题。
有任何想法吗?
Ubuntu 9.10
内核 2.6.31-20-generic
编辑: 我正在尝试安装kgraphspace-0.3.0-pre1我已经安装了 KDE“sudo apt-get 安装 kde-devel”。我的 KDE 3 包括/usr/include/KDE以及共享库/usr/lib/kde4。
我正在尝试运行这个命令:
./configure --with-qt-includes=/usr/include/qt3/ --with-qt-libraries=/usr/lib/
--prefix=/usr/lib/kde4
...我收到以下错误:
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!
我错过了什么?
答案1
./configure
首先,您现有的命令存在两个问题:
--with-qt-libraries=
应该指向/usr/lib/qt3代替/usr/lib/,除非您已经手动安装了 Qt3 库并且知道它们位于该位置。--prefix=
需要指向包所在的基本位置将会被安装。它没有指向编译包所需的任何内容。 /usr/lib/kde4可能是一个糟糕的选择;您需要将其添加到 $PATH 才能执行该程序。最有可能的是,您希望--prefix=/usr/local
或--prefix=$HOME
安装到在/usr/本地/bin或者/home/[用户名]/bin,或者继续使用程序的默认设置(/usr/本地/kde)。
在一个相当干净的 Ubuntu 9.10 虚拟机上,我需要安装这些软件包及其依赖项。
sudo apt-get install libqt3-headers libqt3-compat-headers libqt3-mt-dev
qt3-dev-tools qt3-dev-tools-compat kdelibs4-dev
此外,./configure
对属于以下几个工具的检查:艺术- 这麦考比德尔和artsc 配置命令,这些命令不再包含在标准 Ubuntu 存储库中的任何 KDE 包中。 艺术是一个旧的 KDE 声音库,我相信它已被完全替换或吸收。
我不知道图形空间需要声音功能,所以我创建了 shellscripts$HOME/bin/mcopidl和$HOME/bin/artsc-配置仅包含以下内容:
#!/bin/sh
echo "Hiya"
这足以满足./configure
检查,但如果在编译期间实际调用这些程序,则无法正常工作。
根据 Ubuntu 的存储库网络搜索,真正的程序最后在 Ubuntu 8.10(Intrepid)中可用。如果你真的需要图形空间,考虑安装 Ubuntu 8.04。(Hardy 是那个时代的 LTS 版本,其存储库将比 Intrepid 存储库存在的时间更长。)
这是我的工作./configure
命令(为清楚起见,选项分成不同的行):
./configure --with-qt-includes=/usr/include/qt3
--with-qt-libraries=/usr/lib/qt3
--prefix=/usr/local
不幸的是,make
程序因以下错误而死机,而这是我尝试编译该软件时所能得到的结果:
make[3]: Entering directory `/home/quack/test/kgraphspace-0.3.0-pre1/kgraphspace'
source='ktypesstats.cpp' object='ktypesstats.o' libtool=no \
depfile='.deps/ktypesstats.Po' tmpdepfile='.deps/ktypesstats.TPo' \
depmode=gcc3 /bin/bash ../admin/depcomp \
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/kde -I/usr/include/qt3
-I. -Wall -Wall -c -o ktypesstats.o `test -f 'ktypesstats.cpp' ||
echo './'`ktypesstats.cpp
ktypesstats.cpp: In member function ‘QString KTypesStats::getFileType(const char*)’:
ktypesstats.cpp:112: error: invalid conversion from ‘const char*’ to ‘char*’
make[3]: *** [ktypesstats.o] Error 1
您可以尝试安装早期的 GCC4 版本(gcc-4.1或者gcc-4.2), 自从这个 Gentoo 漏洞表示使用 GCC 4.3 进行编译时出现问题(Ubuntu 9.10 默认提供 GCC 4.4)。
答案2
继 akira 之后,可能会有一个 deb 包提供与 Qt 3 的兼容性,同时安装 Qt 4。在 Debian 上,这些包被称为 libqt3-headers、libqt3-mt、libqt3mt-dev 等。尝试安装其中一些,如果您从源代码编译,您可能需要开发版本以及普通包。
[编辑] KDE 3 和 KDE 4 彼此不兼容,因为 KDE 3 依赖于 Qt 3,而 KDE 4 依赖于 Qt 4。我不知道这是否是导致您出现问题的原因,但您似乎将您的 KDE 4 安装作为前缀,请尝试使用 KDE 3。
答案3
嗯...看起来你的程序依赖于 Qt 3,而不是 Qt 4。