libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到

libssh's functions couldn't be found on qt and cmake error while building libssh

本文关键字:libssh cmake 错误 函数 构建 Qt      更新时间:2023-10-16

我想在Qt中使用libssh库,我的操作系统是ubuntu 18.04 .
所以我克隆了库的文件并尝试用cmake构建它。 我按照 INSTALL 文件夹中的教程进行操作,但构建过程无法完成.
起初我遇到了此错误:

Could NOT find CMocka (missing: CMOCKA_LIBRARIES CMOCKA_INCLUDE_DIR)**

我使用了rm CMakeCache.txtcmake,之后make. 没关系,但是当我使用make install时,我再次遇到此错误:

CMake Error at cmake_install.cmake:41 (file):
file INSTALL cannot copy file
"/home/heydari.f/libssh-mirror/build/libssh.pc" to
"/usr/local/lib/pkgconfig/libssh.pc".
Makefile:85: recipe for target 'install' failed
make: *** [install] Error 1

我该怎么办?
在构建过程之后,与Qt有什么关系吗?因为它显然找不到libssh的功能!

file INSTALL cannot copy file"/home/heydari.f/libssh-mirror/build/libssh.pc" to

"/usr/local/lib/pkgconfig/libssh.pc"

这是一个权限问题。使用sudo make install来解决此问题。sudo为命令授予根权限。小心使用它。

** error: undefined reference to 'ssh_session_is_known_server'**

undefined reference通常意味着您正在尝试访问某些内容,在本例中是一个找不到的功能。这个函数属于libssh,所以这意味着要么你没有安装libssh-dev,要么你错误地提供了库的路径。由于后者极不可能,我将假设libssh缺失。在 Ubuntu 上,您可以使用以下命令安装它:

sudo apt install openssh-server libssh-dev