- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
从 Unix Stack Exchange 转移到这里,我在那里的赏金失败了:
我正在尝试在 Ubuntu 16.04 LTS 上编译 Swift 代码,遵循 these instructions相当接近。我可以下载 NDK r14,下载 libicu 工具并构建它们,然后下载 swift 源代码并针对 libicu 工具构建它。我一路编译实际的 swift 代码并得到这个:
#build.sh
#(I symlinked the androideabi ld.gold to /usr/bin/ld.armv7, based on a swift bug ticket's advice. Thats the only thing different from the instructions)
/home/mike/workspace/swift-source/build/Ninja-ReleaseAssert/swift-linux-x86_64/bin/swiftc \
-use-ld=armv7 \
-tools-directory /home/mike/workspace/android-ndk-r14/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi/bin \
-target armv7-none-linux-androideabi \
-sdk /home/mike/workspace/android-ndk-r14/platforms/android-21/arch-arm \
-L /home/mike/workspace/android-ndk-r14/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a \
-L /home/mike/workspace/android-ndk-r14/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9 \
hello.swift
#output
mike@mike-VirtualBox:~/workspace/HelloSwift$ ./build.sh
/usr/bin/ld.armv7: error: cannot find -lgcc
/usr/bin/ld.armv7: error: cannot find -lgcc
/usr/bin/ld.armv7: error: cannot find -lgcc
/usr/bin/ld.armv7: error: cannot find -lgcc
我在工具链的这一步没有太多经验,但我肯定安装了 gcc,gcc-multilib,并设置了 LD_LIBRARY_PATH 来帮助 ld 找到 gcc,并且我已经用 ldconfig 重建了 ld 缓存.
当我运行 sudo ldconfig -p | grep gcc
, 我得到
libgccpp.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgccpp.so.1
libgcc_s.so.1 (libc6,x32) => /usr/libx32/libgcc_s.so.1
libgcc_s.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libgcc_s.so.1
libgcc_s.so.1 (libc6) => /usr/lib32/libgcc_s.so.1
和其他一些名为 libuno_<something with gcc in it>
的东西
最佳答案
在最新版本的android-ndk-r14b
中,所需的gcc
库位于:
/path/to/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9.x
Swift Android 文档似乎已经过时,并指出:
/path/to/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9
.
确保在调用 swiftc
时链接到此正确路径应该可以解决问题。
(我已提交 this pull request 以确保其他人也不会遇到此问题。)
关于android - Android 版 Swift : `ld` cannot find `-lgcc` in swift for android compilation linking step,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43124510/
如果您曾经将内核与 gcc 链接在一起,您可能知道参数 -lgcc。这个参数重要吗?它有什么作用 ? 最佳答案 如果你做一些驱动程序/内核开发,你可以使用 -nostdlib 从臃肿的标准库中删除你的
这是我的生成文件: task0 : main.o numbers.o add.o gcc -m32 -g -Wall -o task0 main.o numbers.o add.o m
我正在尝试在x86_64-pc-windows-msvc主机上编译x86_64-linux-android目标。这是我的.cargo/config: [target.x86_64-linux-andr
我正在尝试使用以下命令使用 gcc 编译 C 程序 gcc -r client.c -o exe 但是出现这些错误,并且没有生成 exe 文件: /usr/bin/ld cannot find
我试图在我的 64 位 Linux 上编译一个 32 位汇编代码(NASM),但我不能,我已经尝试了其他教程,我安装了 ia32-libs ... 当我尝试将其运行为: gcc asm1.o -o a
我正在尝试使用 gcc 编译基本的“Hello World”C 代码,但出现以下错误: ld: library not found for -lgcc collect2: error: ld retu
我正在尝试在 Linux Mint 17.2 中编译 main.c 代码和汇编代码 pstring.s。 当我尝试链接代码时,gcc 返回:/usr/bin/ld: 找不到 -lgcc。 有谁知道我需
我试图在 Windows 上使用 MingGW,但是当我尝试编译我的 c/c++ 文件时,当我使用 C(gcc) 编译时出现以下错误 > gcc c:\Users\Administrator\Desk
我正在尝试编译 TPC-H 基准测试,当我进行 make 时,返回以下错误: gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D
glibc (libgcc.a) 很好地存在于/usr/lib/路径中。我想用 sdk 和 devtools 构建一个 linux 镜像 core-image-minimal-dev。链接 glibc
从 Unix Stack Exchange 转移到这里,我在那里的赏金失败了: 我正在尝试在 Ubuntu 16.04 LTS 上编译 Swift 代码,遵循 these instructions相当
我是一名优秀的程序员,十分优秀!