本教程适用于有openharmony SDK且编译工具链是clang,仅需修改一下所需架构既可,arm64 arm均可以使用

由于iperf3需要一些gcc的库,但是我手上的clang没有对应移植的库,所以无法编译成功,有兴趣的小伙伴可以尝试用下面脚本试一下看看

下载windows linux 源码

windows端:https://jaist.dl.sourceforge.net/project/iperf2/iperf-2.2.1-win64.exe?viasf=1

Linux端:https://jaist.dl.sourceforge.net/project/iperf2/iperf-2.0.9.tar.gz?viasf=1

Linux端解压

tar -xvf iperf-2.0.9.tar.gz

进入iperf-2.0.9 文件夹

cd iperf-2.0.9

创建build.sh

touch build.sh

复制粘贴以下代码,源文件放在本文件根目录下

#!/bin/bash

set -e

if [ "$1" == "clean" ] || [ "$1" == "distclean" ];then
    make $1
    exit 0
fi

export OHOS_NATIVE_HOME=/prj_oh/prebuilts/ohos-sdk/linux/12/native

export PATH=$OHOS_NATIVE_HOME/llvm/bin:$PATH
export AR=$OHOS_NATIVE_HOME/llvm/bin/llvm-ar
export AS=$OHOS_NATIVE_HOME/llvm/bin/llvm-as
export LD=$OHOS_NATIVE_HOME/llvm/bin/ld.lld
export RANLIB=$OHOS_NATIVE_HOME/llvm/bin/llvm-ranlib
export STRIP=$OHOS_NATIVE_HOME/llvm/bin/llvm-strip
export CC="$OHOS_NATIVE_HOME/llvm/bin/clang"
export CXX="$OHOS_NATIVE_HOME/llvm/bin/clang++"
export NM="$OHOS_NATIVE_HOME/llvm/bin/llvm-nm"
export OBJDUMP="$OHOS_NATIVE_HOME/llvm/bin/llvm-objdump"

export CFLAGS="--target=loongarch64-linux-ohos --sysroot=$OHOS_NATIVE_HOME/sysroot -funwind-tables -fstack-protector -fno-strict-aliasing -D__MUSL__"
export CPPFLAGS="--target=loongarch64-linux-ohos --sysroot=$OHOS_NATIVE_HOME/sysroot -funwind-tables -fstack-protector -fno-strict-aliasing -D__MUSL__"
export LDFLAGS="--target=loongarch64-linux-ohos -static-libstdc++ --rtlib=compiler-rt -fuse-ld=lld"

./configure --prefix=${PWD}/_install \
            --target=loongarch64-linux-ohos \
            --host=x86_64-pc-linux-gnu \

make && make install

主要是通过find / -name llvm 找到SDK中适用于linux交叉编译的编译工具路径

保存退出后

sudo ./build.sh

在/iperf-2.0.9/_install/bin 路径下会存放iperf可执行文件如下图所示

通过hdc 将iperf发送到板卡上 运行 iperf相关命令即可

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐