2010-08-26 2 views
2

Что означает эта ошибка?Что означает эта ошибка `ld` (« неопределенная ссылка »)?

/tmp/ccevEqoI.o: In function `main': 
funcptr.c:(.text+0x61): undefined reference to `AddALL' 
collect2: ld returned 1 exit status 

Я пытаюсь написать функцию, которая добавляет все целые числа до предела , введенного пользователем.


, транскрибированной «ответа», который является комментарием от OP:

Я написал программу, которая бы добавить все целые числа ДО предела Указанного. Для этого мне пришлось написать функцию. Поэтому я создал функцию «AddAll», но когда я ее вызвал из своей программы, я назвал ее «AddALL».

Примечание: C чувствителен к регистру. В конце концов, когда я изменил имя функции, где я ее вызывал. Он составлен отлично :)

Просто подумал, что эта информация будет полезна для новичков.

+1

На этапе компиляции вы должны были получить предупреждение о том, что прототипа для AllALL не было и что компилятор принимает тип возврата int. –

ответ

5

Сообщается, что определение функции «AddALL» не найдено. Убедитесь, что вы включили в файл объекта, который содержит «AddALL» при компиляции/ссылке.

6

Это означает, что компоновщик (который называется ld в gcc) не нашел символ AddALL в указанных объектных файлах. В принципе, для этой функции нет тела, или это переменная, объявленная как extern без определения.

0

Я написал программу, которая добавит все целые числа до указанного предела. Для этого мне пришлось написать функцию. Поэтому я создал функцию «AddAll», но когда я ее вызвал из своей программы, я назвал ее «AddALL».

Примечание: C чувствителен к регистру. В конце концов, когда я изменил имя функции, где я ее вызывал. Он составлен отлично :)

Просто подумал, что эта информация будет полезна для новичков.

+0

На этапе компиляции вы должны были получить предупреждение о том, что для 'AllALL' не было прототипа (и что компилятор предполагал тип возврата' int'). –

+0

Ваш «ответ», Павитар, должен был стать поправкой на вопрос - как я и сделал. Следует также отметить комментарий @Ben Voigt о том, что, если компилятор генерирует предупреждения, вы должны прислушаться к ним, и если компилятор не генерирует предупреждения о пропавших прототипах, у вас нет параметров компилятора, настроенных разумно. Вероятно, вы должны удалить этот «ответ». –

+0

@ Джонатан Леффлер-сэр Я тебя не понял. Поскольку я только новичок в этом мире программирования. Что бы я ни отправил, это помогло мне решить мою ошибку. – Pavitar

Смежные вопросы