@kennnies

Как скомпилировать cpp в linux с доп библиотекой?

ошибка
$g++ -I. libsshpp.cpp -o libsshpp
/usr/bin/ld: /tmp/ccHZZCyj.o: in function `ssh::SshException::SshException(ssh_session_struct*)':
libsshpp.cpp:(.text._ZN3ssh12SshExceptionC2EP18ssh_session_struct[_ZN3ssh12SshExceptionC5EP18ssh_session_struct]+0x29): undefined reference to `ssh_get_error_code'
/usr/bin/ld: libsshpp.cpp:(.text._ZN3ssh12SshExceptionC2EP18ssh_session_struct[_ZN3ssh12SshExceptionC5EP18ssh_session_struct]+0x49): undefined reference to `ssh_get_error'
/usr/bin/ld: /tmp/ccHZZCyj.o: in function `ssh::Session::Session()':
libsshpp.cpp:(.text._ZN3ssh7SessionC2Ev[_ZN3ssh7SessionC5Ev]+0xd): undefined reference to `ssh_new'
/usr/bin/ld: /tmp/ccHZZCyj.o: in function `ssh::Session::~Session()':
libsshpp.cpp:(.text._ZN3ssh7SessionD2Ev[_ZN3ssh7SessionD5Ev]+0x17): undefined reference to `ssh_free'
/usr/bin/ld: /tmp/ccHZZCyj.o: in function `ssh::Session::setOption(ssh_options_e, char const*)':
libsshpp.cpp:(.text._ZN3ssh7Session9setOptionE13ssh_options_ePKc[_ZN3ssh7Session9setOptionE13ssh_options_ePKc]+0x2a): undefined reference to `ssh_options_set'
/usr/bin/ld: /tmp/ccHZZCyj.o: in function `ssh::Session::connect()':
libsshpp.cpp:(.text._ZN3ssh7Session7connectEv[_ZN3ssh7Session7connectEv]+0x1a): undefined reference to `ssh_connect'
/usr/bin/ld: /tmp/ccHZZCyj.o: in function `ssh::Session::userauthPublickeyAuto()':
libsshpp.cpp:(.text._ZN3ssh7Session21userauthPublickeyAutoEv[_ZN3ssh7Session21userauthPublickeyAutoEv]+0x24): undefined reference to `ssh_userauth_publickey_auto'
/usr/bin/ld: /tmp/ccHZZCyj.o: in function `ssh::Session::disconnect()':
libsshpp.cpp:(.text._ZN3ssh7Session10disconnectEv[_ZN3ssh7Session10disconnectEv]+0x17): undefined reference to `ssh_disconnect'
collect2: error: ld returned 1 exit status

скачал библиотеку libssh, пробовал компилировать через g++/gcc с разными ключами, удачно компилируется c
-c libsshpp.cpp
, но выдает ошибку
bash: ./libsshpp: Permission denied
, пробовал давать права через chmod, но так же ничего не выходит
bash: ./libsshpp: cannot execute binary file: Exec format error

система x64, libsshpp так же x64, проблем с разрядностью нет. Что только не качал, ничего не помогает.
Уже второй день не могу решить проблему, куда только не закидывал эти файлы, саму библиотеку устанавливал через cmake. Пробовал на разных системах (Parrot/Manjaro).
надеюсь на вашу помощь, потому что все мои идеи закончились и даже вторая страница гугла не помогла.
  • Вопрос задан
  • 297 просмотров
Решения вопроса 1
@rPman
https://rtfm.co.ua/c-libssh-primer-ssh-klienta/
gcc -lssh ssh_client_libssh1.c -o ssh_client_libssh1
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Compolomus
@Compolomus
Комполом-быдлокодер
на убунте проверял

чтиво по флагам дял конфигурирования
https://github.com/libssh2/libssh2/blob/master/docs/INSTALL_AUTOTOOLS

sudo apt-get install gcc g++ pkg-config libncurses5-dev gawk build-essential autotools-dev bison re2c flex gperf libtool automake cmake

cd /home
sudo mkdir test
sudo chmod -R 777 test
wget https://www.libssh2.org/download/libssh2-1.8.2.tar.gz
sudo tar -xzf libssh2-1.8.2.tar.gz
cd libssh2-1.8.2
./buildconf
./configure
make
далее думаю разберетесь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы