美好的一天,
我正在按照本教程交叉编译适用于 Android 的 Perl 编译适用于 Android 的 Perl 不幸的是,我在 Perl 目录中运行配置脚本时卡住了:
Checking your choice of C compiler and flags for coherency...
我尝试编译并运行以下简单程序:
#include <stdio.h>
int main() { printf("Ok\n"); return(0); }
我使用的命令:
/home/janny/Android/Sdk/ndk/26.2.11394342/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android23-clang -o try -O2 -fno-strict-aliasing -pipe -fstack-protector-strong -fstack-protector-strong try.c -lpthread -ldl -lm -lcrypt -lutil -lc -llog
/home/janny/perl-5.38.2/Cross/run-adb-shell ./try
我得到了以下输出:
ld.lld: error: unable to find library -lpthread
ld.lld: error: unable to find library -lcrypt
ld.lld: error: unable to find library -lutil
clang-17: error: linker command failed with exit code 1 (use -v to see invocation)
I can't compile the test program.
You have a BIG problem. Shall I abort Configure [y]
Ok. Stopping Configure.
我正在尝试在 ubuntu-22.04.4 上编译它,作为一个仅使用 Windows 的用户,我在这里有点迷失。 我已经尝试使用以下方法安装 pthread lib:
apt install libpthread-stubs0-dev
但是错误仍然存在。
我发现:https://arsv.github.io/perl-cross/usage.html 您只需将文件解压到 Perl 发行版之上即可开始使用。