символы libssh не найдены ошибка gcc - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь создать простой SSH-клиент из книги Уилла Алсоппа по тестированию пера. Работа на Mac OS High Sierra с gcc-4.2 с libssh, установленной с помощью Homebrew. Простейшая версия кода:

#include <libssh/libssh.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{    
    ssh_session my_ssh_session;
    my_ssh_session = ssh_new();
    ssh_free(my_ssh_session);
    return 0;
}

Однако простая сборка gcc (gcc -Wall ssh_client.c) выдает следующую ошибку:

Неопределенные символы для архитектуры x86_64:

"_ ssh_free", на который ссылаются: _main in ssh_client-aa8f09.o

"_ ssh_new", по ссылке с: _main in ssh_client-aa8f09.o

ld: символ (ы) не найден для архитектуры x86_64 clang: ошибка: сбой команды компоновщика с кодом выхода 1

Может кто-нибудь объяснить эти ошибки и как я могу их исправить?

1 Ответ

0 голосов
/ 25 апреля 2018

Ваша строка сборки не содержит никаких флагов включения и компоновщика.Я представляю, что он собирает заголовки, а не библиотеку, с которой ssh ​​может ссылаться.Загляните в pkgconfig, чтобы упростить это.

...