linux - 安装Android-EABI工具链时,是否可以覆盖/usr中的文件?

标签 linux gcc android-ndk cross-compiling

我刚刚下载了 Android NDK 并想将 GCC 交叉编译器工具链复制/安装到 /usr 文件夹(我还有其他交叉编译器)。这些是工具链 forlder 的内容:

$ ls
4,0K drwxr-xr-x 4 carles carles 4,0K  2014-gen-16  18:13:44 arm-linux-androideabi/
4,0K drwxr-xr-x 2 carles carles 4,0K  2014-mar-01  01:57:40 bin/
4,0K drwxr-xr-x 2 carles carles 4,0K  2014-gen-16  18:13:46 include/
4,0K drwxr-xr-x 3 carles carles 4,0K  2014-gen-16  18:14:15 lib/
4,0K drwxr-xr-x 2 carles carles 4,0K  2014-gen-16  18:14:24 lib32/
4,0K drwxr-xr-x 2 carles carles 4,0K  2014-gen-16  18:14:15 lib64/
4,0K drwxr-xr-x 3 carles carles 4,0K  2014-gen-16  18:13:46 libexec/
4,0K drwxr-xr-x 3 carles carles 4,0K  2014-gen-16  18:14:24 share/
 20K -rw-r--r-- 1 carles carles  18K  2014-gen-16  18:14:24 COPYING
 28K -rw-r--r-- 1 carles carles  26K  2014-gen-16  18:14:24 COPYING.LIB
4,0K -rw-r--r-- 1 carles carles 2,6K  2014-gen-16  18:14:25 SOURCES

要在 /usr 中安装它,我只是这样做了:

$ cp * /usr -uvir 

结果我发现有一些文件与这个副本冲突。特别是,cp 询问是否覆盖以下文件:

cp: voleu sobreescriure «/usr/share/gdb/python/gdb/types.py»? n
cp: voleu sobreescriure «/usr/share/gdb/python/gdb/command/pretty_printers.py»? n
cp: voleu sobreescriure «/usr/share/gdb/python/gdb/command/__init__.py»? n
cp: voleu sobreescriure «/usr/share/gdb/python/gdb/printing.py»? n
cp: voleu sobreescriure «/usr/share/gdb/python/gdb/__init__.py»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/mips-o32-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/sparc-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/mips-n32-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/ppc-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/amd64-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/i386-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/sparc64-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/gdb-syscalls.dtd»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/ppc64-linux.xml»? n
cp: voleu sobreescriure «/usr/share/gdb/syscalls/mips-n64-linux.xml»? n

我总是回答“否”的问题。现在,在进行了几次 diff 之后,我发现虽然其中一些文件基本上在我已有的文件基础上添加了额外的行,但其中一些(如果不是全部的话)更改了小变量和名称。

你认为覆盖它们是个好主意吗?如果不是,arm-linux-androideabi-gcc 是否仍然有效?

最佳答案

将二进制文件放在他们不期望的路径中不是一个好主意。

相当多的包将给定给 ./configure 命令行的路径编译到可执行文件中,因此它们可以轻松找到其他资源。所以你的 gcc 是否有效是值得怀疑的。

您列出的文件都属于 gdb 调试器。如果 XML 数据文件确实较新,则应该可以安全地覆盖它们,但也可能是您当时使用的是较旧的版本。如果更改很小,Python 文件也应该是安全的——这些主要涉及变量在调试器中的打印方式;这可能对某些字符串类型有用。

这些组都不应该对调试至关重要,所以任何一种方式都应该没问题。

关于linux - 安装Android-EABI工具链时,是否可以覆盖/usr中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23829556/

相关文章:

c - 在 Windows 上使用 MinGW 调用 GCC 时如何将 Win32 指定为输出

c - SDL2 事件在 C 中不起作用

android: dlopen 失败: 无法找到符号 "__aeabi_memclr8"

linux - 类似系统的关键字,例如 failure、true、closed、 "unable to"在作为查询值处理时突出显示

c - 如何等待非子进程退出

linux - 为什么编译器添加额外的 'sxtw' 指令(进一步导致内核 panic )?

android - 使用 NDK C++ 中的 Renderscript 定位 Lollipop 之前的设备

android - 是否可以将 OpenMP 库与 Android NDK 一起使用?

Linux - 不同目录中的文件总数

linux - 使用 shell 遍历文件