Связывание вещей в C++ с использованием объектного файла

ЗАДАЧА РЕШЕНА:::

Я использую библиотеку LEDA в C++.

command used to make object file.

g++ -I$LEDAROOT/incl -c mult.cpp

this command runs fine

Я получаю eroor, связывая шаг.

ЗДЕСЬ ЕСТЬ

varun@Kinley:~/Documents/LEDA/test/numbers$ g++  -L$LEDAROOT mult.o -lleda -lX11 -lm
/usr/bin/ld: cannot find -lX11
collect2: error: ld returned 1 exit status

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

Я не нашел ошибку lx11

некоторые сообщения eroor, которые я гуглил.

ошибка 1

/ usr / bin / ld: невозможно найти -lfreetype collect2: ld вернул 1 состояние выхода

ошибка 2

/ usr / bin / ld: не удается найти -lz collect2: ld вернул 1 состояние выхода

Ссылки, где я нахожу эти сообщения

http://www.qtcentre.org/threads/21069-collect2-ld-returned-1-exit-status

http://www.cyberciti.biz/faq/centos-rhel-redhat-usrbinld-cannot-findlc-error/

Нужно ли устанавливать какой-либо пакет или есть какая-то другая проблема?

1 ответ

Может быть две вещи

1) Библиотека X11 установлена ​​по нестандартному пути. Используйте команду поиска, чтобы узнать, доступны ли в вашей системе libX11.a или libX11.so. Если да, добавьте путь к каталогу в опцию -L.

2) Вам не хватает библиотеки libX11. В этом случае войдите как администратор и используйте yum (при условии, что linux), чтобы установить эту библиотеку. Например:

"yum install libX11.i386" или "yum install libX11.x86_64", в зависимости от вашей архитектуры (32-разрядная или 64-разрядная).

Другие вопросы по тегам