qmake 寻找名为 *.pc 的 lib 文件

qmake 寻找名为 *.pc 的 lib 文件

我正在尝试编译一些软件(焦点作家)在 openSUSE 11.3(linux 2.6.34.7-0.5-desktop)上。 (我找不到所谓的 openSUSE RPM 的实际下载链接......只有大量有关 RPM 的元数据)。因此,我从 git 中解压了源代码,然后按照说明运行了qmake.我明白了:


Package ao was not found in the pkg-config search path.
Perhaps you should add the directory containing `ao.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ao' found
Package hunspell was not found in the pkg-config search path.
Perhaps you should add the directory containing `hunspell.pc'
to the PKG_CONFIG_PATH environment variable
No package 'hunspell' found
Package libzip was not found in the pkg-config search path.
Perhaps you should add the directory containing `libzip.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libzip' found
Package ao was not found in the pkg-config search path.
Perhaps you should add the directory containing `ao.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ao' found
Package hunspell was not found in the pkg-config search path.
Perhaps you should add the directory containing `hunspell.pc'
to the PKG_CONFIG_PATH environment variable
No package 'hunspell' found
Package libzip was not found in the pkg-config search path.
Perhaps you should add the directory containing `libzip.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libzip' found

根据 YaST 和 zypper 的说法,我知道所有这些软件包实际上都已安装。/usr/lib64/包含诸如 libao.20.2 和 libzip.so.1 以及 libzip.so.1.0.0 之类的文件——但在硬盘驱动器上我找不到任何名为 ao.pc、hunspell.pc 或 libzip.pc 的文件。

我在这里缺少什么建议吗?

谢谢。

答案1

您已经安装了用户库,但还需要安装开发人员库和头文件。

ao个例子:

普通用户包包含以下文件:

/usr/lib/libao.so.4.0.0
/usr/lib/libao.so.4

而开发人员包包含以下文件:

/usr/include/ao/ao.h
/usr/include/ao/os_types.h
/usr/include/ao/plugin.h
/usr/lib/pkgconfig/ao.pc

这是您丢失的第二组文件。

我不熟悉 SUSE 的 YaST2,但命令应该类似于
yast2 --install libao-devel.

当然其他包也是如此。

仔细检查要安装的 RPM 名称的一种方法是转至rpmfind.net并将丢失的文件名之一粘贴到,例如/usr/lib/pkgconfig/ao.pc.它会给你一个RPM 列表:查找 OpenSUSE 11.3 并在运行时使用该名称yast2 --install

更新

根据使用 zypper 确定哪个包包含某个文件,您可以使用zypper而不需要使用 rpmfind.net。

尝试这个:

zypper wp ao.pc

(未经测试)

此外,在基于 RPM 的系统上,您可能会发现最好尝试搜索 RPM.spec文件并使用它进行构建。

我找到了一个focuswriter 规格文件在 OpenSUSE 网站上。

然后,如果您使用 进行构建rpmbuild,它应该会给出一个错误,告诉您仍然需要安装哪些软件包,以便您可以构建它。

这还有一个优点是为您提供了一个可以轻松安装、升级和卸载的 RPM,它使用 SUSE 推荐的构建选项。

相关内容