【发布时间】:2016-02-24 16:25:31
【问题描述】:
我使用binfmtc 来允许我在不执行显式构建步骤的情况下运行C 程序。这一直很好,直到我开始使用数学函数,此时我看到如下消息:
对“罪”的未定义引用
我使用的标题是:
/*BINFMTC: -Wall -Werror -std=c99 -lm
*/
我怎样才能让这个程序链接?
密切相关:"undefined reference to `pow'" even with math.h and the library link -lm
【问题讨论】:
-
如果你尝试用 gcc 编译它,它会编译吗?数学库可以访问吗?
-
@LPs:是的。我可以手动使用 gcc 进行编译——这让我可以将 '-lz' 放在完整 gcc 命令行的末尾,
binfmtc显然没有。 -
binfmtc是否尊重CFLAGS、CXXFLAGS和LDFLAGS?。如果有,可以设置LDFLAGS="-lm -lz" -
@alvits:好主意,但设置
LDFLAGS没有效果。 -
注意:这个问题是 'C' 独有的——它不会在 C++ 模式下发生:
BINFMTCXX。