【问题标题】:Compilation error with c [duplicate]c编译错误[重复]
【发布时间】:2014-08-28 23:07:44
【问题描述】:

我正在尝试编译一个名为 randfold 的程序来处理 RNA 折叠。然而,在 sudo make 期间,我收到以下 c 程序消息。

params.o: In function `scale_parameters':
params.c:(.text+0x160): undefined reference to `log'
params.c:(.text+0x1bc): undefined reference to `log'
fold.o: In function `HairpinE':
fold.c:(.text+0x3981): undefined reference to `log'
fold.o: In function `LoopEnergy':
fold.c:(.text+0x3bd3): undefined reference to `log'
fold.c:(.text+0x3dfa): undefined reference to `log'
fold.o:fold.c:(.text+0x4f81): more undefined references to `log' follow
collect2: ld returned 1 exit status
make: *** [randfold] Error 1

这些错误的原因可能是什么?

【问题讨论】:

  • 请不要这样做sudo make!只需make!以root 运行构建完全没有任何意义,而且风险很大。
  • @jongware 是的,它可能是。我找不到它,而且这个论坛上有很多问题,我发现问这个问题更容易。我会更小心的

标签: c makefile


【解决方案1】:

在编译(链接器)行的末尾添加 -lm 以链接到数学库。

【讨论】:

  • 你的意思是 sudo make -lm
  • @RahulUnnikrishnan 不,编辑您的 Makefile 以添加 -lm
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-10
  • 1970-01-01
  • 2014-09-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多