gpt4 book ai didi

c - 如何在 Alpine 上编译 time.c?

转载 作者:行者123 更新时间:2023-11-30 19:26:18 25 4
gpt4 key购买 nike

我不喜欢 Alpine Linux 中内置的 time 实用程序,并希望根据我的需要改进它 - 我想编辑 time.c并将其编译为二进制文件。我已经完成了 apk add build-base 来安装 gcc,并从 Github 复制粘贴了 time.c,但是当我执行 gcc/tmp/time 时.c -o/tmp/time 我得到:

/tmp/time.c:34:10: fatal error: libbb.h: No such file or directory
#include "libbb.h"
^~~~~~~~~

所以我也复制粘贴了它,但它依赖于数十个头文件。我在某处看到我可能需要 apk add alpine-sdk ,也许它也能保证版本兼容性,所以我这样做了,但 gcc 仍然看不到头文件。我应该提供一些 -I 标志吗?
我到底需要做什么才能最终编译我的自定义 time.c

P.S.:time 可能有一个 SO 标签,但我找不到它。

UPD:我已经复制了整个 include 文件夹,但它显示:

In file included from /tmp/time.c:34:
include/libbb.h:406:42: error: 'ENABLE_FEATURE_VERBOSE' undeclared here (not in a function)
FILEUTILS_VERBOSE = (1 << 12) * ENABLE_FEATURE_VERBOSE, /* -v */
^~~~~~~~~~~~~~~~~~~~~~

但即使在整个 https://github.com/mirror/busybox 中我也找不到它的定义位置

UPD:哦不,它更复杂。

/ # ls -l `which time`
lrwxrwxrwx 1 root root 12 Jan 30 2019 /usr/bin/time -> /bin/busybox

似乎不存在诸如时间二进制之类的东西。

最佳答案

假设您需要 GNU 时间功能,而 BusyBox time 不足以满足您的需求,只需安装 GNU time最近在 Alpine 上提供的软件包:

apk add time --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing

安装后,它将用 GNU time 可执行文件替换 /usr/bin/time BusyBox 符号链接(symbolic link)。

关于c - 如何在 Alpine 上编译 time.c?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57589231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com