Мне нужно использовать функцию floorf (), определенную в Math.h, и хотя я могу скомпилировать модуль, где он успешно используется в моем проекте XE4, я получаю эту ошибку при компоновке:
[ilink32 Error] Error: Unresolved external '_floorf' referenced from <myfilename>.OBJ [ilink32 Error] Error: Unable to perform link
Это не имеет смысла — компилятор, очевидно, знает, где объявлена функция, так как он открывает Math.h, когда я нажимаю клавишу control на функции floorf (). и я включил #include в файл .cpp. Что мне нужно, чтобы это работало? Мне действительно нужно использовать эту стандартную математическую функцию.
Связывание с библиотекой математики не включено по умолчанию в некоторых компиляторах.
gcc: почему флаг -lm необходим для связи математической библиотеки?
Я использую BDS2006, так что это может не помочь, но:
floor()
вместо floorf()
float(floor(float(x)));
::floor()
);
,{
,}
,};
? особенно в struct
/class
/namespace
#define
с?
#define
Это противоречит математическим жетонам внутренней компиляции?
_math
,_floor
…Draw()
функции со столкновением с внутренним TForm::Draw
draw()
и вы будете в порядке, если вы не привязаны к какой-либо схеме именования Я держал пари, что точка 6 видела это много-много раз назад во время моего обучения