Ubuntu 11.10 上的 c 数学链接器问题

标签 c gcc ubuntu linker math.h

<分区>

将我的 Ubuntu 从 (10.11, 11.04 我不知道) 升级到 11.10 后出现了一些奇怪的错误。

在使用 math.h 并使用 -lm 链接

时,我得到了一个对“sqrt”的 undefined reference

我正在使用 gcc -Wall -Werror -g -Iinclude/-lm lib/matrix.c src/analyse.c -o bin/analyse.o 进行编译包括 math.h。

此代码编译没有问题,自升级以来我没有做太多更改,但现在无法运行。

您对我可以做什么来查找错误有什么建议吗?

对不起,如果之前有人问过这个问题;有很多关于数学链接器错误的帖子,但我没有找到匹配的帖子

最佳答案

当您从命令行使用它时,您正在使用的库需要放在使用它的文件之后。所以在命令行中将 -lm 放在 C 文件之后。

Reference

关于Ubuntu 11.10 上的 c 数学链接器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7824439/

相关文章:

ubuntu - 如何使 UDP 接收器和源在 GNURadio 中的单个流程图中运行?

c - 为什么这段代码不起作用?

c++ - Mac Unix 可执行文件上的段错误,文件编译正常

c++ - 如何在 gcc 编译器的 c/c++ 中获取运行的可执行文件名称

C - Makefile 在头文件更改后编译,但更改不生效

ruby - 在 Ubuntu 中全新安装 RVM 不允许我安装 gems(zlib 错误)

C:输出带有凯撒密码加密中的符号,为什么? pset2 CS50

c - 如何使用 winapi 获取 YYYYMMDD 格式的日期

c++ - 在 C++ 中,为什么编译许多小文件比编译大文件要花费更长的时间?

node.js - linux (ubuntu) 上的 npm 安装错误