qmake 尋找名為 *.pc 的 lib 文件
我正在嘗試在 openSUSE 11.3(linux 2.6.34.7-0.5-desktop)上編譯一些軟體(FocusWriter)。(我找不到所謂的 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 的文件。有什麼建議我在這裡缺少的嗎?
謝謝。
您已經安裝了使用者庫,但您還需要安裝開發人員庫和標頭檔。
舉
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
。更新
根據Using zypper to determine what package contains a file,您可以使用
zypper
而不需要使用 rpmfind.net。嘗試這個:
zypper wp ao.pc
(未經測試)
此外,在基於 RPM 的系統上,您可能會發現嘗試搜尋 RPM
.spec
文件並使用它進行建構會更好。我在 OpenSUSE 網站上找到了一個focuswriter 規範文件。
然後,如果您使用 建構
rpmbuild
,它應該會給您一個錯誤,告訴您仍然需要安裝哪些軟體包,以便您可以建構它。這還具有為您提供可輕鬆安裝、升級和解除安裝的 RPM 的優勢,它使用 SUSE 推薦的建構選項。