请教:Linux下编译c代码,运行程序时出现undefined symbol exp

时间:2021-07-06 09:18:30
Linux下编译c代码,已经添加math.h,编译连接也通过,运行程序时出现undefined symbol exp的问题

10 个解决方案

#1


编译时 加上 -lm 选项

#2


这个错误是没有链接到函数exp

gcc -c -lm *.c

#3


引用 1 楼 linlan999 的回复:
编译时 加上 -lm 选项


是的。

#4


引用 2 楼 showman 的回复:
这个错误是没有链接到函数exp

gcc -c -lm *.c

“*.c”指的是??

我尝试过:make -lm然后make install但是还是没解决

#5


vi makefile(或Makefile);
在文件中看看有没有名字类似CFLAGS 的变量,有的话(应该都有吧)就加上 -lm:

CFLAGS   += -Wa,-lm

#6


引用 5 楼 linlan999 的回复:
vi makefile(或Makefile);
在文件中看看有没有名字类似CFLAGS 的变量,有的话(应该都有吧)就加上 -lm:

CFLAGS  += -Wa,-lm

试过了,也不行。给出的错误提示是: dlopen()failed for xxxx(路径)/*.so undefined symbol exp

#7


引用 5 楼 linlan999 的回复:
vi makefile(或Makefile);
在文件中看看有没有名字类似CFLAGS 的变量,有的话(应该都有吧)就加上 -lm:

CFLAGS  += -Wa,-lm


CFLAGS-->LDFLAGS

#8


在math.h中没有找到exp函数的声明,这是怎么回事??

#9


在math.h中没有找到exp函数相关的东西

#10


引用 9 楼 antabc 的回复:
在math.h中没有找到exp函数相关的东西

math.h中也有#include <xx.h>啊

#1


编译时 加上 -lm 选项

#2


这个错误是没有链接到函数exp

gcc -c -lm *.c

#3


引用 1 楼 linlan999 的回复:
编译时 加上 -lm 选项


是的。

#4


引用 2 楼 showman 的回复:
这个错误是没有链接到函数exp

gcc -c -lm *.c

“*.c”指的是??

我尝试过:make -lm然后make install但是还是没解决

#5


vi makefile(或Makefile);
在文件中看看有没有名字类似CFLAGS 的变量,有的话(应该都有吧)就加上 -lm:

CFLAGS   += -Wa,-lm

#6


引用 5 楼 linlan999 的回复:
vi makefile(或Makefile);
在文件中看看有没有名字类似CFLAGS 的变量,有的话(应该都有吧)就加上 -lm:

CFLAGS  += -Wa,-lm

试过了,也不行。给出的错误提示是: dlopen()failed for xxxx(路径)/*.so undefined symbol exp

#7


引用 5 楼 linlan999 的回复:
vi makefile(或Makefile);
在文件中看看有没有名字类似CFLAGS 的变量,有的话(应该都有吧)就加上 -lm:

CFLAGS  += -Wa,-lm


CFLAGS-->LDFLAGS

#8


在math.h中没有找到exp函数的声明,这是怎么回事??

#9


在math.h中没有找到exp函数相关的东西

#10


引用 9 楼 antabc 的回复:
在math.h中没有找到exp函数相关的东西

math.h中也有#include <xx.h>啊