我使用ceil()执行了以下代码
#include<stdio.h>
#include<math.h>
int main()
{
float val;
float cVal;
val=23.4;
cVal =ceil(val);
printf("ceil value:%f\n",cVal);
return 0;
}我在函数main': test1.c:(.text+0x1b): undefined reference toceil‘collect2中遇到以下错误: error: ld returned 1 exit status
这段代码出了什么问题??请帮帮忙!
我以前问过这段代码,但后来我没有具体说明我是如何编译这个程序的。有人建议在使用gcc时,在编译时要包含-lm。但,
我是用makefile编译的
>>cmake .
>>make
>>./hello.out发布于 2020-03-04 20:07:54
你需要把你的可执行文件和数学库联系起来。
例如:
gcc hello.c -o hello -lm发布于 2020-03-04 20:08:12
大多数数学函数都存在于它们自己的库中,需要与主程序链接。这个库被恰当地称为m。
因此,您需要在CMakeLists.txt文件中添加一个target_link_libraries,以包含m库。
https://stackoverflow.com/questions/60525640
复制相似问题