2015-09-25 2 views
-1

Я использую log10f функция из math.h заголовка файл, и мне нужно, чтобы вычислить значение журнала в поплавке, именно поэтому я использую вышеуказанную функциюошибка линкера не определен символ _log10f

Я просто размещение образца кода вместо реального кода из-за к конфиденциальной информации

#include<stdio.h> 
#include<math.h> 
void main(){ 

    printf(" --->>> %f \n", log10f(4) - log10f(3)); 
} 

Некоторые, как я могу запустить этот код в Linux с помощью компилятора GCC с помощью следующей команды, и он составлен правильно и работает правильно

gcc Demo.c -lm -o Demo 

./Demo 

Но я должен запустить проект на окнах тоже, и я использую Windows 7 и Turbo C, но с использованием ца моей программы составлена ​​правильно, но во время выполнения он показывает мне LINKER ERROR UNDEFINED SYMBOL _LOG10F

Кто-нибудь есть идея, что, как может Я разрешаю эту проблему на Tc в окнах. Предложения приветствуются благодаря большому количеству заранее.

+2

Ваш код не использует 'log10f' (ну, перед редактированием). И о TurboC, не помещайте «gcc» и бросайте программу сейчас. Как вы используете gcc в Linux, почему бы и не на Windows (mingw-w64)? – deviantfan

+0

по ошибке Я отправляю неправильный код Итак, я редактирую свой вопрос .... Я отмечаю gcc только из-за причины, что я могу запустить этот код в gcc, но не в tc – dom

+1

Это не повод для тега GCC. Вы отмечаете технологии, о которых вы просите. –

ответ

3

log10f был добавлен к языку C 16 лет назад. Вы используете компилятор, которому 25 лет, поэтому он не будет работать.

Обходной может быть использование log10, который был доступен в стандарте C90. Он использует double вместо float.

+0

работает отлично и работает на tc и gcc, и спасибо большое – dom