The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Компиляция, компоновка"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Компиляция, компоновка"
Сообщение от Sequel emailИскать по авторуВ закладки on 06-Авг-02, 06:29  (MSK)
Привет всем!
Почему не работает редактор связей ld?
Стоит FreeBSD 4.5.
Пишу простейший файл на C, содержащий только printf("Hello world")
компилирую его с помощью сс до объектного, затем запускаю LD и вижу сообщения
ld: warning: cannot find entry symbol _start
а потом
undefined reference to 'printf'

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Компиляция, компоновка"
Сообщение от Арлекин emailИскать по авторуВ закладки on 06-Авг-02, 08:04  (MSK)
Си имеет несколько run-time бииблиотек, типа libC.a и т.п. которые надо цеплять при ld-ке. Список можно найти в манах. А вообще, по-моему все компилеры позволяют сразу и линковать. Ключик -о есть. Что касается сс - это встроенный компилер системы, кастрированный до безобразия, предназначенный для сборки ядра и дров. Если есть неуемное желание повозиться с ним - рой доку. Если нет желания - ставь гнутый и забудь про стандартные либы.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Компиляция, компоновка"
Сообщение от Аноним emailИскать по авторуВ закладки on 07-Авг-02, 12:09  (MSK)
Вопрос должен жить в FAQ.

>Си имеет несколько run-time бииблиотек, типа libC.a и т.п. которые надо цеплять
>при ld-ке. Список можно найти в манах. А вообще, по-моему все
>компилеры позволяют сразу и линковать. Ключик -о есть. Что касается сс
>- это встроенный компилер системы, кастрированный до безобразия, предназначенный для сборки
>ядра и дров. Если есть неуемное желание повозиться с ним -
>рой доку. Если нет желания - ставь гнутый и забудь про
>стандартные либы.

Не надо на cc катить баллон. Нормальный компилятор. Человек напрямую
вызывает ld.
При таком вызове надо не забыть crt0.o, библиотеки (как было сказано),
при случае -- crtend.o, и все в нужном порядке (ld проходит по командной
строке один раз). Попробуйте собрать свою аппликацию посредством cc -v;
там увидите командную строчку ld.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру