conan系统要求自动安装



使用conan install ..命令安装xorg时,使用pkg配置工具在conan-receipe中检查系统需求。

每个丢失的系统包都会引发一个异常,从而停止conan install命令。

ERROR: xorg/system: Error in package_info() method, line 97
self._fill_cppinfo_from_pkgconfig(name)
while calling '_fill_cppinfo_from_pkgconfig', line 24
if not pkg_config.provides:
ConanException: pkg-config command ['pkg-config', '--print-provides', 'xcb-renderutil', '--print-errors'] failed with error: Command 'pkg-config --print-provides xcb-renderutil --print-errors' returned non-zero exit status 1.
Package xcb-renderutil was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb-renderutil.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xcb-renderutil' found

我无法通过conan工具安装这些系统包,调用conan时是否缺少命令行参数?

您可以要求conan自己将二进制包安装到您的系统中(sudo apt-get-install…(。参见我的示例:

sudo conan install/home/username/QtProject/console_test1/QCoreApplication_quit_example/conanfile.txt--build=qt-c tools.system.package_manager:mode=install

要使用它,必须使用sudo安装您的conan版本。如果您得到:sudo:conan:找不到命令

你应该做:

pip uninstall conan
sudo pip install conan

通常有特定于发行版的包管理器警告,列出了需要安装的依赖项:

ERROR: xorg/system:...

例如,在Ubuntu 22.04上,在将opencv/4.5.5添加到我的conanfile.txt之后,我得到了以下内容:

...
dpkg-query: no packages found matching libx11-xcb-dev
dpkg-query: no packages found matching libfontenc-dev
dpkg-query: no packages found matching libxaw7-dev
dpkg-query: no packages found matching libxkbfile-dev
dpkg-query: no packages found matching libxmu-dev
dpkg-query: no packages found matching libxmuu-dev
...
ERROR: xorg/system:...

您可以通过安装列出的依赖项来解决此问题。在我的情况下,这就是解决问题的方法:

sudo apt-get install -y xorg openbox xauth libx11-xcb-dev libx11-xcb-dev libfontenc-dev libxaw7-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev libxxf86vm-dev

最新更新