The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"gcc и порядок указания его опций - там есть особенности?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (C/C++)
Изначальное сообщение [ Отслеживать ]

"gcc и порядок указания его опций - там есть особенности?"  +/
Сообщение от And (??) on 15-Авг-12, 16:24 
Вот я пишу в терминале две строки:

gcc microphone.c -lasound -o /tmp/a.out
gcc -lasound -o /tmp/a.out microphone.c

Первая - компилируется успешно, молча.

Вторая строка - сыпет ошибки, код выхода 1 - ошибка.


/tmp/cch9ZW3l.o: In function `main':
microphone.c:(.text+0x14ce): undefined reference to `snd_pcm_open'
... множество аналогичных сообщений
microphone.c:(.text+0x21d6): undefined reference to `snd_pcm_close'
collect2: ld returned 1 exit status

У автора ( http://alumnos.elo.utfsm.cl/~yanez/alsa-sample-programs/ ) в make файле


gcc -lasound -o microphone microphone.c

Смотрю ещё в начало "man gcc" - допускается указание входного файла в конце команды.

Чем объясняется разница в реакциях на команду? В чём дело?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "gcc и порядок указания его опций - там есть особенности?"  +/
Сообщение от LSTemp (ok) on 16-Авг-12, 08:36 
>[оверквотинг удален]
> ... множество аналогичных сообщений
> microphone.c:(.text+0x21d6): undefined reference to `snd_pcm_close'
> collect2: ld returned 1 exit status
>
> У автора ( http://alumnos.elo.utfsm.cl/~yanez/alsa-sample-programs/ ) в make файле
>
 
> gcc -lasound -o microphone microphone.c
>

> Смотрю ещё в начало "man gcc" - допускается указание входного файла в
> конце команды.

а где оно в начале команды допускается нашли?


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "gcc и порядок указания его опций - там есть особенности?"  +/
Сообщение от parad (ok) on 16-Авг-12, 09:11 
гцц этой командой выполняет два действа - компилирует исходник в объектный файл и транслирует его в исполняемый, линкуя с чем указано. второе действо уже зависит от указаной последовательности, - к примеру, линковщик может выбросить библиотеку полностью, если на
этепе линковки с ней ни один символ не резолвиться. отсюда и ошибка.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

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




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

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