функции libssh не могут быть найдены в qt

Я клонировал библиотеку libssh и построил ее с помощью cmake. Процесс сборки был таким:

git clone https://git.libssh.org/projects/libssh.git/
mkdir build in libssh directory.
cd build   
cmake -DUNIT_TESTING=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ..
after this line i got this error about cmocka:
Could NOT find CMocka (missing: CMOCKA_LIBRARIES CMOCKA_INCLUDE_DIR)
then : rm CMakeCache.txt 
cmake ..
make 
sudo make install

Теперь я хочу использовать эту библиотеку на qt, но у меня есть некоторые проблемы.

Я получил ошибки, как:

error: undefined reference to `ssh_session_is_known_server'

Я не могу использовать какие-либо функции или структуры в этой библиотеке. Моя ОС убунту 18.04.


person fa7eme    schedule 12.07.2020    source источник
comment
Вы должны связать libssh библиотеку, которую вы создали, в файле cmake/make. Пожалуйста, покажите свой файл cmake или команды, которые вы выполняете для сборки проекта.   -  person Waqar    schedule 12.07.2020
comment
@Waqar, как связать библиотеку libssh? Я отредактирую, чтобы добавить эти команды и результаты, и почему вы проголосовали за мой вопрос?!   -  person fa7eme    schedule 12.07.2020
comment
Я не минусовал ваш вопрос. Stackoverflow насчитывает более миллиона участников, любой с репутацией › 125 может это сделать. Хотя вы должны предоставить больше информации, будучи максимально краткими, когда задаете вопрос. Это означает предоставление необходимого кода для воспроизведения проблемы ИЛИ предоставление команд или других вещей, которые могут вызывать проблему. Если вы этого не сделаете, вас быстро заминусуют. Подробнее: Как задать хороший вопрос?   -  person Waqar    schedule 12.07.2020
comment
> I want to use this library on qt Как вы пытаетесь использовать это в Qt? Есть ли файл qmake (.pro)? Еще один cmake файл, который вы написали?   -  person Waqar    schedule 12.07.2020
comment
Откуда вы получаете ошибку error: undefined reference to ssh_session_is_known_server'`?   -  person Waqar    schedule 12.07.2020
comment
Я включил библиотеку следующим образом: #include ‹libssh/libssh.h›. и добавьте эту строку в файл .pro: LIBS += -L$$PWD/LibSSH/lib -lssh @Waqar   -  person fa7eme    schedule 12.07.2020
comment
скомпилированный код, и это было на выходе компиляции. это функция, позволяющая определить, находится ли сервер в списке известных серверов или нет. @Вакар   -  person fa7eme    schedule 12.07.2020
comment
-L$$PWD/LibSSH/lib возможно этот путь неверный. Убедитесь, что в этом каталоге есть файл libssh.a. Возможно, вам придется сделать -L$$PWD/LibSSH/build/lib, потому что библиотека была собрана в каталоге build. Найдите место, где существует файл *.a, и укажите этот путь.   -  person Waqar    schedule 12.07.2020
comment
@Waqar Waqar, разве я не должен добавить libssh в качестве внешней библиотеки в проект?   -  person fa7eme    schedule 12.07.2020
comment
Делать его внешним/внутренним - ваше собственное решение. И поскольку вы сделали sudo make install, -lssh должно работать без указания пути.   -  person Waqar    schedule 12.07.2020