LINUX.ORG.RU

Как линковать (простите ламер я)?


0

0

у меня есть исходники на C и С++;
я создаю объектники (это у меня получилось :-))
Возникает несколько вопросов:
1. КАКИЕ -l... передавать ld
2. да там еще какие то обектники надо передовать crt1.o и ещё?
3. И как узнать : libc -> -lc, libxml2 -> -lxml2, но это с ними так,
а как с другими.
4. и если программа на C++, то что надо подключить, что
чтобы пользоваться стандартной библиотекой C++

Спасибо ALL.

anonymous

1. Зависит от того, какие из каких библиотек функции вызываются.

2. Не надо. gcc сам всё найдёт.

3. Доки читать. Или на пример посмотреть:

gcc -c -I/usr/include/libxml2 foo.c

gcc -c -I/usr/include/libxml2 bar.c

gcc -o coolprog foo.o bar.o -lxml2 -lm

4. Ничего не надо подключать. g++ сам найдёт.

ДВ

DmVo
()

если хочешь линковать не через gcc то можешь сперва запустить gcc или g++ но с ключом типа verbose -- такой точно есть не помню только как он точно выглядит -- и тогда gcc будет писать какие программы на каждой стадии он запускает, в частности ld с нужными ключами.

dilmah ★★★★★
()
25 сентября 2002 г.

На 3-й вопрос: ключ -l подразумевает, что название библиотеки начинается с lib, т. е. -lX приведет к тому, что ld будет искать libX

Oakhead
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.