- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在构建 busybox 时,我发现一些源文件包含 linux 内核头文件。我添加了#define __KERNEL__ 来选择头文件行的某些部分。我还在内核头文件中添加了 #define _BUSYBOX_ 并插入了 #ifndef _BUSYBOX_ 以便编译器不会选择某些特定部分。(我不知道这是正确的方法)
我面临的下一个问题如下。它说 fd_set 被定义了两次。
In file included from /opt/snakede/lib/gcc/sparc-snake-linux/4.6.2/../../../../sparc-snake-linux/sys-include/linux/thread_info.h:10:0,
from /opt/snakede/lib/gcc/sparc-snake-linux/4.6.2/../../../../sparc-snake-linux/sys-include/linux/preempt.h:9,
from /opt/snakede/lib/gcc/sparc-snake-linux/4.6.2/../../../../sparc-snake-linux/sys-include/linux/spinlock.h:50,
from /opt/snakede/lib/gcc/sparc-snake-linux/4.6.2/../../../../sparc-snake-linux/sys-include/linux/mmzone.h:7,
from /opt/snakede/lib/gcc/sparc-snake-linux/4.6.2/../../../../sparc-snake-linux/sys-include/linux/gfp.h:4,
from /opt/snakede/lib/gcc/sparc-snake-linux/4.6.2/../../../../sparc-snake-linux/sys-include/linux/slab.h:12,
from archival/libarchive/unxz/xz_private.h:16,
from archival/libarchive/unxz/xz_dec_bcj.c:11,
from archival/libarchive/decompress_unxz.c:36:
/opt/snakede/lib/gcc/sparc-snake-linux/4.6.2/../../../../sparc-snake-linux/sys-include/linux/types.h:23:26: error: conflicting types for 'fd_set'
/opt/snakede/lib/gcc/sparc-snake-linux/4.6.2/../../../../sparc-snake-linux/include/sys/select.h:75:5: note: previous declaration of 'fd_set' was here
消息显示 fd_set 首先在 sparc-snake-linux/include/sys/select.h 中定义,然后又在 sparc-snake-linux/sys-include/linux/types.h 中定义。使用
回声“” | sparc-snake-linux-gcc -o/tmp/tmp.o -v -x c -
我可以看到默认包含路径是
#include <...> search starts here:
/opt/snakede/lib/gcc/sparc-snake-linux/4.6.2/include
/opt/snakede/lib/gcc/sparc-snake-linux/4.6.2/include-fixed
/opt/snakede/sparc-snake-linux/sys-include
/opt/snakede/sparc-snake-linux/include
它先搜索/opt/snakede/sparc-snake-linux/sys-include,然后再搜索/opt/snakede/sparc-snake-linux/include,但是/opt/snakede/sparc-snake-linux/include下的文件是无论如何首先选择。所以插入了许多#ifndef BUSYBOX 守卫,以便第二个定义被编译阻止。被阻止的行大多在 sys-include 目录下。我想知道这是否是一个允许的方法(只是阻止第二个定义)或者是否有另一种更好的、定义明确的方法来应对这种情况(就像我应该阻止第一个定义——主要来自 gcc 包含头文件- 并使用 sys-include 目录下的文件,这些文件适用于目标系统)编辑:使用#ifndef BUSYBOX 我阻止了 20 多个第二次出现的定义,但仍然看到此类错误。我不知道这是否是正确的方法。
最佳答案
几天后,我发现 linux 内核头文件是为 linux build 定义的,因此其中一些定义与用户定义冲突。所以我们需要使用用户程序可以使用的'cleaned header'。为此,我跑了
'make ARCH=.. CROSS_COMPILE=.. headers_install INSTALL_HDR_PATH=..
这个新的 linux 头文件应该替换 sparc-snake-linux/sys-include 目录。顺便说一下,这个“make headers_install”在 linux2.6 之前工作得很好,所以在 ver 2.6 之后添加的头文件应该手动复制到新的头文件目录。 (主要是 linux/xx.h asm-generci/xx.h asm/xx.h。我什至不得不从 sys-include 文件的相应部分复制新 header 中缺少的一些定义。希望对您有所帮助!
关于linux - 为 busybox 构建选择正确的内核头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25307454/
我正在尝试将“join”命令安装到我的 yocto 镜像中。我已经安装了 busybox,它没有 join 功能,但有 coreutils 的子集。 Coreutils 确实具有 join 功能,因此
我已经为我的嵌入式 Linux 剥离了 busy box。目前 busy box 仅支持 ps -w 选项。 我需要对应用程序的 CPU 和内存使用情况进行采样,并且采样应该至少每秒 5 个。 Top
我想在 BusyBox 服务器上启用 SSH 服务(目前我只能通过 Telnet 连接),所以我想,我需要编译 SSH 服务器,并将它发送到 BusyBox 路由器。所以我的问题是 - 如何创建 SS
buildroot 支持从 git repo 下载包。但是我的 git repo 包含子模块。 如何命令 buildroot 下载带有子模块的包? 最佳答案 自~ July 2016您可以为包启用子模
我正在使用 MobaXterm 便携版。 我发现了一个奇怪的设置,总结在这里。 /bin 中的外部命令工作正常。例如,使用 /bin/ssh.exe我可以 ssh好的。 内部命令是 “重定向”到bus
我是Docker的新手 我已经运行了 sudo docker run --interactive --tty --link web:web --name web_test busybox:lates
我在Kubernetes中创建了一个命名空间,并尝试使用以下命令创建一个容器: kubectl run busybox -it ----image=busybox -- sh 但是现在,每次我使用ku
我尝试在带有 PowerPc 的嵌入式系统上安装 BusyBox 1.20.2。起初我想尝试使用默认配置。所以这是命令 make defconfig make 这是结果: ma-bash-3.2# m
busybox 是否以共享库形式提供?我想以编程方式使用单个应用程序,而不是使用 system()。我听说过 libbusybox 和 libbb,但找不到任何文档。 最佳答案 存在名为 libbus
最近,我尝试按照“Pro Linux Embedded Systems”一书中提供的步骤为 MIPS 架构构建 busybox。事先,我已经成功安装和配置了 crosstool-ng 以使用 MIPS
我在/etc/inittab 中运行 BusyBox ::sysinit:/etc/init.d/rcS rcS 脚本在启动时调用/etc/rc.d/中的所有启动脚本。 如何可能通过在调用 BusyB
我想知道如何知道Busybox的版本。搜索互联网我发现这段代码: public void busybox()throws IOException { /* *
我正在开发一些在 Linux/BSD/Mac/Windows 上运行的 bash 脚本。我想将它们移植到 busybox 环境,让它们在 android 终端模拟器(如 termux)中运行。 获得
在构建 busybox 时,我发现一些源文件包含 linux 内核头文件。我添加了#define __KERNEL__ 来选择头文件行的某些部分。我还在内核头文件中添加了 #define _BUSYB
Busybox 不包含传统的 Linux"file"命令。有没有其他方法可以检测文件是二进制还是ascii?谢谢 最佳答案 你可以尝试使用grep。该线程包含使用 grep 命令的一些变体:https
我遇到了看起来有点奇怪的情况。 基础机器是 Ubuntu 18.04。我正在尝试创建一个自定义 initramfs + init 脚本,以与与 qemu 实例一起使用的自定义编译内核一起使用。 从我用
嵌入式 Linux 上的 Busybox,SSH 命令。 rm 命令只删除当前目录中的文件,还是也删除子目录中的文件?这是目录结构: ls -la total 5 drwxr-xr-x 3 r
我需要我的 docker 容器中的用户。我的构建来自缺少 groupadd 的 busybox 图像,我尝试使用 apt-get 添加它,但它也丢失了。我需要将什么添加到我的 Dockerfile 才
我在我的嵌入式 linux 板上安装了 busybox 作为“入门”包,我还需要使用 iptables 来配置一些防火墙规则。 有没有办法从 busybox shell 访问 iptables? 否则
我正在使用 Busybox 测试和嵌入 linux CPE; BusyBox v1.00 (2012.07.10-03:48+0000) multi-call binary 我想尝试使用盒子上所有可用
我是一名优秀的程序员,十分优秀!