Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2011, 00:00   #1
vaultboy2010
 
Регистрация: 01.10.2011
Сообщений: 5
Восклицание Вопрос новичка

Взял у знакомого книжечку по программированию на С/С++ практикум. Решил по примерам в ней изучать С, но вот беда первый же пример не собирается, помогите решить проблему пожалуйста.
Код:
#include <stdio.h>
#include <math.h>

#define lg(z,a) log(z)/log(a)

int main()
{
	float x,y,z,b;
	puts("Введите значение x, y, b : ");
	scanf("%f%f%f", &x, &y, &b);
	z=(lg(x, 2)+lg(y, b))/lg(x+y, b+2);
	printf("Значение z=%.3f", z);
}
собираю в Ubuntu 10 с помощью gcc командой gcc main.c -o main на что получаю ошибку
Код:
/tmp/ccwHSqQu.o: In function `main':
main.c:(.text+0x42): undefined reference to `log'
main.c:(.text+0x5a): undefined reference to `log'
main.c:(.text+0x6a): undefined reference to `log'
main.c:(.text+0x8a): undefined reference to `log'
main.c:(.text+0xa8): undefined reference to `log'
collect2: ld returned 1 exit status
vaultboy2010 вне форума Ответить с цитированием
Старый 02.10.2011, 00:10   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Первая ссылка в гугле по этой ошибке говорит, что надо добавить -lm в команду.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.10.2011, 00:20   #3
vaultboy2010
 
Регистрация: 01.10.2011
Сообщений: 5
По умолчанию

спс, помогло, тему можно закрыть или удалить.
vaultboy2010 вне форума Ответить с цитированием
Старый 02.10.2011, 01:51   #4
Alkagolik
Пользователь
 
Аватар для Alkagolik
 
Регистрация: 03.08.2009
Сообщений: 77
По умолчанию

этого быть не должно. опция -l сообщает о необходимости поиска дополнительной библиотеки в директории по умолчанию, в данном случае библиотека "m"... не знаю, может и есть такая... кроме того я скомпилировал и выполнил эту программу без дополнительных опций. тут что-то другое.
Alkagolik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос новичка M1987 Общие вопросы C/C++ 1 22.01.2009 21:10
Вопрос (новичка) по переменным. grey Помощь студентам 5 03.11.2007 17:25