Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/47: Рейтинг темы: голосов - 47, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 27

Ошибка undefined reference to `sqrt'

24.12.2014, 22:32. Показов 9696. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
int fd[2];
size_t size;
int side[2];
side[0]=4; /*сторона1 */
side[1]=3; /*сторона2 */
side[2]=3; /*сторона3 */
int reside[2];
if(pipe(fd) < 0){
/* Если создать pipe не удалось, печатаем об этом сообщение
и прекращаем работу */
printf("Can\'t create pipe\n");
exit(-1);
}
size = write(fd[1], side, sizeof(side));
if(size != sizeof(side)){
printf("Can\'t write all string\n");
exit(-1);
}
/* Пробуем прочитать из pip'а 14 байт в другой массив, т.е. всю
записанную строку */
size = read(fd[0], reside, sizeof(side));
if(size < 0){
/* Если прочитать не смогли, сообщаем об ошибке */
printf("Can\'t read string\n");
exit(-1);
}
int plo;
int p = ((reside[0] + reside[1] + reside[2])/2);;
    plo = sqrt(p*(p - reside[0]) * (p - reside[1]) * (p - reside[2]));
/* Печатаем прочитанную строку */
printf("%d\n",plo);
/* Закрываем входной поток*/
if(close(fd[0]) < 0){
printf("Can\'t close input stream\n");
}
/* Закрываем выходной поток*/
if(close(fd[1]) < 0){
printf("Can\'t close output stream\n");
}
return 0;
}
Собственно:
C
1
2
3
4
5
6
7
1.c: In function ‘main’:
1.c:36:11: warning: incompatible implicit declaration of built-in functionsqrt[enabled by default]
     plo = sqrt(p*(p - reside[0]) * (p - reside[1]) * (p - reside[2]));
           ^
/tmp/ccsmSQxx.o: In function `main':
1.c:(.text+0xd6): undefined reference to `sqrt'
collect2: error: ld returned 1 exit status
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2014, 22:32
Ответы с готовыми решениями:

Ошибка: undefined reference to `log'
Всю свою недолгую жизнь я компилировал программы и не встречал таких ошибок. Возьмем самый простой код: #include &lt;stdio.h&gt; ...

Eclipse, ошибка undefined reference to main
Снова добрый день. Возникла проблема - при создании нового С-проекта с помощью eclipse, компилятор не хочет создавать файл binaries после...

Ошибка: undefined reference to "sem_init"
#include &lt;stdio.h&gt; #include &lt;unistd.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;unistd.h&gt; #include &lt;sys/types.h&gt; ...

5
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
24.12.2014, 22:35
Лучший ответ Сообщение было отмечено Iwanna как решение

Решение

#include <math.h>
При сборке добавить в опции -lm
1
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 27
24.12.2014, 22:56  [ТС]
После добавления math
C
1
2
3
/tmp/ccJuL9Lq.o: In function `main':
1.c:(.text+0xd6): undefined reference to `sqrt'
collect2: error: ld returned 1 exit status
Добавлено через 15 минут
Для компиляции использую команду gcc -o 1 1.c
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
24.12.2014, 23:12
Цитата Сообщение от Iwanna Посмотреть сообщение
Для компиляции использую команду gcc -o 1 1.c
gcc -o 1 1.c -lm
1
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 27
24.12.2014, 23:23  [ТС]
Да- да, не подскажите что делает опция -lm?
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
25.12.2014, 10:35
Цитата Сообщение от Iwanna Посмотреть сообщение
Да- да, не подскажите что делает опция -lm?
Она говорит компоновщику, с какими библиотеками компоновать программу. Это была ошибка не компилятора. Загугли, почитай про компоновку (линковку), станет понятнее.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2014, 10:35
Помогаю со студенческими работами здесь

Undefined reference OPENSSL
Добрый всем день. Возникла проблема с компиляцией. Пишу программу преобразование строки с использованием хеш-функции SHA1. ...

Исправить ошибку Undefined reference
Народ, подскажите, что значит эта ошибка my_uart.c (text +0x14): undefined reference to &quot;serialOpen&quot; my_uart. c: ( text...

Не компилируется пример из книги: Undefined reference
Добрый день. Переписал программу с книги, а она не компилируется. В чем может быть ошибка. Текст проги: #include &lt;stdio.h&gt; ...

Не компилируется программа: Undefined reference to `pow'
При компиляции выводит ошибки, которые впервые вижу Сам код: //1. Разработать программу нахождения массива N последовательных значений...

Ошибка компоновщика Undefined reference
Я решил написать небольшую ОС, т.к. интересно, как они работают. Нашел туториал на wiki.osdev.org, вроде все было нормально, но потом я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru