环境windows环境下的vmware安装x86架构的ubuntu 24.04系统下载鸿蒙command-line-toolshttps://developer.huawei.com/consumer/cn/download/command-line-tools-for-hmos解压后需要记住目录此处以/opt/ohos目录为例解压后command-line-tools为目录名如果名为commandline-tools-linux-x64-6.0.2.642等带系统版本后缀需要进入下一级目录剪切comman-line-tools到/opt/ohos目录形成目录路径/opt/ohos/command-line-tools/bin/和/opt/ohos/command-line-tools/sdk/default/openharmony/native/llvm/bin/ubuntu中需要将/opt/ohos/command-line-tools/bin/添加到PATH可以在~/.profile添加两行export OHOS_SDK_HOME/opt/ohos/command-line-tools/sdk/default/openharmony export PATH/opt/ohos/command-line-tools/bin:$PATH其中export OHOS_SDK_HOME并不一定需要此处添加只是为了方便使用$OHOS_SDK_HOME代替路径。然后就可以进行编译了此处以编译libusb为例安装autoreconf工具sudo apt-get install autoconf automake libtool有些旧版本的ubuntu系统如果安装失败需要先执行apt updategithub找到libusb源码后下载解压后进入libusb-master目录也就是configure.ac的同级目录autoreconf -i -f -v然后就是执行configure了但是需要配置通过鸿蒙的sdk中的clang编译。为方便后续复用此处将其封装为环境变量# ~/.profile中已添加如下两行 export OHOS_SDK_HOME/opt/ohos/command-line-tools/sdk/default/openharmony export PATH/opt/ohos/command-line-tools/bin:$PATH # 新设置的变量最终调用./configure的时候用只是为了方便并不一定非要这么做 # 设置目标架构和sysroot路径 export SYSROOT$OHOS_SDK_HOME/native/sysroot # 设置编译器 # clang需要--target参数这里与./configure的--host参数还不一样 export CC$OHOS_SDK_HOME/native/llvm/bin/clang --targetaarch64-linux-ohos # 设置编译和链接标志 export CFLAGS--sysroot$SYSROOT -O2 -D__MUSL__ export CPPFLAGS--sysroot$SYSROOT -D__MUSL__ export LDFLAGS--sysroot$SYSROOT除了PATH以外不设置以上环境变量也可以。然后调用configure./configure --hostaarch64-unknown-linux-musl \ --buildx86_64-linux-gnu \ --prefix$PWD/install \ --disable-udev \ --enable-shared \ --disable-static \ CC$CC \ CFLAGS$CFLAGS \ CPPFLAGS$CPPFLAGS \ LDFLAGS$LDFLAGS这里的--host参数是aarch64-unknown-linux-musl并不是aarch64-linux-ohos。因为configure.ac中配置的host并不支持aarch64-linux-ohos然后调用make即可