LINUX.ORG.RU

Компилирование GCC

 


0

1

Добрый день. При компиляции файла выдаёт ошибку:

/tmp/cc2WnOdR.o: In function `main': server.c:(.text+0x2da): undefined reference to `PRINTF' collect2: error: ld returned 1 exit status make: *** [server] Ошибка 1

Ubuntu 14.04 Файла cc2WnOdR.o в папке tmp не существует. Подскажите в чём проблема?


Проблема в том что функции PRINTF не существует. Есть printf

greek_31 ★★
()

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

anonymous
()

Ты сам GCC компилируешь? Или кросс-компиляцией занимаешься? И вообще, почему у тебя PRINTF? Нет такой функции. Или это макрос у тебя такой?

slaykovsky ★★★
()
Ответ на: комментарий от Vovanano

Проблема в том, что файла cc2WnOdR.o нет, а он указывает что в нём проблема (или он создаётся, а потом удаляется при компиляции)

slavka
() автор топика
Ответ на: комментарий от slavka

Лол, у тебя в server.c есть PRINTF которой не существует. Отстань от объектника, исправляй очепятки.

slaykovsky ★★★
()
  1. Что компилируешь?
  2. Как компилируешь?
anonymous
()
Ответ на: комментарий от Reedych

#include просто вставляет содержимое указанного файла в код, линкеру библиотеки это не указывает.

anonymous
()

Автор - паскалист, который думает, что регистр не имеет значения...

anonymous
()
Ответ на: комментарий от slavka

Да, это временный объектный файл, который создаёт компилятор. По умолчанию компилятор же сразу после компиляции удаляет этот файл. В твоём случае компиляция прошла успешно, а вот линкер не нашёл нужный символ ни в этом объектном файле, ни в стандартной библиотеке.

anonymous
()
Ответ на: комментарий от I-Love-Microsoft

Похвально то, что он его так и не освоит.

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