编译“stress-ng”包的静态链接可执行文件

时间:2016-12-05 16:39:51

标签: c makefile static-libraries

我正在尝试编译“stress-ng”包以生成静态链接的可执行文件,以便在GEM5完整系统模拟器中使用它。

此软件包的tarball可以下载here。我正在尝试编译的版本是0.07.08。

要编译此程序包的动态链接可执行文件,只需“make”。这对我有用。

但是,由于我需要在GEM5完整系统模拟中运行“stress-ng”exe,我需要确保exe是自包含的。这通常使用“-static”CFLAG选项完成,但是,对于“stress-ng”,我在尝试此选项时出错。

以下是为了重现此错误的操作。编辑“Makefile”并在第25行末尾添加“-static”选项。第25行应如下所示:

jessie-backports

保存然后制作,您将看到以下错误:

CFLAGS += -Wall -Wextra -DVERSION='"$(VERSION)"' -O2 -std=gnu99 -static

最后,操作系统是Ubuntu 14.04,cc版本是4.6.4。

我在这里错过了其他一些CFLAG选项吗?

1 个答案:

答案 0 :(得分:0)

我已经推出了一个新的修复程序,现在允许静态链接的stress-ng repo。问题是-lc在-lpthread之前,导致了这个问题。

拉出最新的更改,然后使用:

进行构建

STATIC = 1 make