sqrtf неопределенная ссылка на "sqrtf" в c

Привет я использую linux 12.04 и geany для кодирования. Код, который я пишу на C, работал совершенно нормально, пока я не использовал команду sqrtf для поиска квадратного корня float. Ошибка: HAC3.с.(:text+0xfd7): неопределенная ссылка на `sqrtf' .

часть кода, которую я использую sqrtf:

float syn(float *a, float *b, int dimensions)
{
    float similarity=0;
    float sumup=0;
    float sumdown=0;
    float as=0;
    float bs=0;
    int i;
    for(i=0; i<dimensions; i++)
    {
        sumup = sumup + a[i] * b[i];
        as = as + a[i] * a[i];
        bs = bs + b[i] * b[i];
    }
    sumdown = sqrtf(as) * sqrtf(bs);
    similarity = sumup / sumdown;
    return similarity;
}

Я включил математику.но, похоже, проблема не в этом. Поэтому мне интересно, есть ли способ исправить geany, чтобы это не возникло снова? У меня мало знаний, так что постарайся. объясните, если возможно.

2 ответов


на Build ->Set Build Commands затем в C commands нажмите на пустую метку, и она позволит вам указать новую метку (назовите ее Link). Введите его gcc -Wall -o "%e" "%f" -lm - где -lm скажет ему, чтобы связать math библиотека для вашего приложения. Нажмите OK.

затем нажмите на кнопку Build и выберите вновь созданную метку -Link. Это должно помочь тебе.


вам нужно связаться с -lm для обеспечения математических функций.