не удается найти -lsocket, проблема компиляции в клиент-серверной программе? - PullRequest
5 голосов
/ 17 сентября 2009

Я пытаюсь заняться программированием сокетов, пишу простую программу клиент-сервер. Но когда я пытаюсь скомпилировать программу, я получаю эту ошибку.

gcc -o showip showip.c -lnsl -lsocket -lresolv
showip.cc: In function ‘int main(int, char**)’:
/usr/bin/ld.real: cannot find -lsocket
collect2: ld returned 1 exit status

Я пытаюсь установить lib,

sudo apt-get install happycoders-libsocket-dev 

и при компиляции я получаю ту же ошибку.

Как мне от этого избавиться? Спасибо.

1 Ответ

4 голосов
/ 17 сентября 2009

Обычно двоичный файл библиотеки поставляется с одним пакетом, а заголовки - с другим с тем же именем и «-dev» позади.

Может быть, вам не хватает обычного happycoders-libsocket.

Вам не хватает этого пакета happycoders-libsocket , при условии, что вы находитесь в Ubuntu.

Очевидно, что пакет happycoders-libsocket в ubuntu помещает библиотеку libsocket.so в / usr / lib / happycoders /, и это не стандартное место для библиотек, он должен находиться непосредственно в / usr / lib /. Используя -L, вы указываете компилятору или компоновщику в этом случае искать файлы библиотеки в этом дополнительном каталоге

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...