针对Android ld.lld交叉编译perl:错误:无法找到库-lpthread

问题描述 投票:0回答:1

美好的一天,

我正在按照本教程交叉编译适用于 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

但是错误仍然存在。

android c++ perl
1个回答
0
投票

我发现:https://arsv.github.io/perl-cross/usage.html 您只需将文件解压到 Perl 发行版之上即可开始使用。

© www.soinside.com 2019 - 2024. All rights reserved.