鸿蒙电脑配置基础编译环境

最近摸索了一个在鸿蒙电脑开发的基础环境配置,记录如下
修改~/.zshrc文件,文件内容:

export PATH=$PATH:$HOME/npm/bin:$HOME/.local/bin:$HOME/usr/local/bin

export C_INCLUDE_PATH=$HOME/usr/local/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$HOME/usr/local/include:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=$HOME/usr/local/lib:/data/service/hnp/magic-cli.org/magic-cli_1.0.0/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=$HOME/usr/local/lib:/data/service/hnp/magic-cli.org/magic-cli_1.0.0/lib:$LD_LIBRARY_PATH

export DEFAULT_PREFIX=$HOME/usr/local
alias configure='./configure --prefix=$DEFAULT_PREFIX'
alias cmake='cmake -DCMAKE_INSTALL_PREFIX=$DEFAULT_PREFIX'

export AS="llvm-as"
export CC="clang"
export CC_FOR_BUILD="clang"
export CXX="clang++"
export LD="ld.lld"
export STRIP="llvm-strip"
export RANLIB="llvm-ranlib"
export OBJDUMP="llvm-objdump"
export OBJCOPY="llvm-objcopy"
export NM="llvm-nm"
export AR="llvm-ar"

修改后记得source ~/.zshrc生效,也可以重启终端生效
然后创建目录

mkdir -p ~/usr/local

这套环境变量支持大多数C/C++编译场景和安装场景,如我编译了gettext库和命令,首先下载源码和解压

wget https://ftp.gnu.org/pub/gnu/gettext/gettext-0.22.5.tar.xz
tar -xvzf gettext-0.22.5.tar.xz
cd gettext-0.22.5

然后适配gettext的编译框架,配套编译三元组信息

  • build-aux/config.guess
    在以下代码后增加鸿蒙适配

     *:Minix:*:*)
        GUESS=$UNAME_MACHINE-unknown-minix
         ;;
    

    增加的内容

    *:HarmonyOS:*:*)
    # 识别鸿蒙系统,根据uname -m输出对应三元组
    case "$UNAME_MACHINE" in
    aarch64)
        # 输出标准三元组:aarch64-unknown-harmonyos + 内核版本
        HARMONY_VERSION=`echo "$UNAME_RELEASE" | sed -e 's/HongMeng Kernel //'`
        GUESS=aarch64-unknown-harmonyos
    ;;
    armv7l|arm*)
        # 兼容32位ARM架构的鸿蒙(可选)
        GUESS=arm-unknown-harmonyos
    ;;
    x86_64)
        # 兼容x86_64架构的鸿蒙(可选)
        GUESS=x86_64-unknown-harmonyos
    ;;
    *)
        # 未知架构,保留原始机器名
        GUESS=$UNAME_MACHINE-unknown-harmonyos
    ;;
    esac;;
    

    在这里插入图片描述

  • build-aux/config.sub
    # Decode manufacturer-specific aliases for certain operating systems.以下代码最后新增ohos相关:

    	-harmonyos)
    	os=-ohos
    	;;
    

    在这里插入图片描述

  • libtextstyle/build-aux/config.guessbuild-aux/config.guess 同理

  • libtextstyle/build-aux/config.subbuild-aux/config.sub 同理

然后

  • 执行configure 自动执行配置并指定安装目录为~/usr/local
  • 执行make完成编译
  • 执行make install完成安装

安装后执行gettext,首次会有弹窗,点击运行即可

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐