我想在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的功能!

最佳答案


这是一个权限问题。使用sudo make install解决此问题。 sudo为命令赋予root特权。小心使用。
undefined reference通常意味着您正在尝试访问某些东西,在这种情况下是一个找不到的函数。该函数属于libssh,因此这意味着您没有安装libssh-dev或错误地给出了该库的路径。由于后者的可能性很小,因此我将假定libssh丢失。在Ubuntu上,您可以使用以下命令进行安装:

sudo apt install openssh-server libssh-dev

关于c++ - 构建libssh时,在qt和cmake错误上找不到libssh的功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62857452/

10-10 07:37