使用OHOS SDK构建libxml2

发布时间 2024-01-03 22:56:24作者: jackieathome

参照OHOS IDE和SDK的安装方法配置好开发环境。

github下载源码。

执行如下命令:

git clone --depth=1 https://gitlab.gnome.org/GNOME/libxml2

进入源码所在的目录,创建批处理文件ohos_build.cmd,内容如下:

@echo off
setlocal

set OHOS_SDK_HOME=D:\Tools\Huawei\OHOS\SDK\9
set CMAKE_HOME=D:\Tools\cmake-3.26.0-windows-x86_64
set PATH=%CMAKE_HOME%\bin;%PATH%

cmake --version
ninja --version

set SRC_ROOT=%CD%

set BUILD_ROOT=%SRC_ROOT%\build-ohos

cmake -G "Ninja Multi-Config" ^
    -S %SRC_ROOT% ^
    -B %BUILD_ROOT% ^
    -DCMAKE_TOOLCHAIN_FILE=%OHOS_SDK_HOME%\native\build\cmake\ohos.toolchain.cmake ^
    -DCMAKE_CXX_FLAGS="-Wno-unused-command-line-argument" ^
    -DCMAKE_C_FLAGS="-Wno-unused-command-line-argument" ^
    -DBUILD_SHARED_LIBS=ON ^
    -DLIBXML2_WITH_PROGRAMS=OFF ^
    -DLIBXML2_WITH_TESTS=OFF ^
    -DLIBXML2_WITH_HTTP=OFF ^
    -DLIBXML2_WITH_FTP=OFF ^
    -DLIBXML2_WITH_HTML=ON ^
    -DLIBXML2_WITH_C14N=ON ^
    -DLIBXML2_WITH_CATALOG=ON ^
    -DLIBXML2_WITH_DEBUG=ON  ^
    -DLIBXML2_WITH_ICONV=ON ^
    -DLIBXML2_WITH_ISO8859X=ON ^
    -DLIBXML2_WITH_ZLIB=ON ^
    -DLIBXML2_WITH_ICU=OFF ^
    -DLIBXML2_WITH_LZMA=OFF ^
    -DLIBXML2_WITH_LEGACY=ON ^
    -DLIBXML2_WITH_MEM_DEBUG=OFF ^
    -DLIBXML2_WITH_MODULES=ON ^
    -DLIBXML2_WITH_OUTPUT=ON ^
    -DLIBXML2_WITH_PATTERN=ON ^
    -DLIBXML2_WITH_PUSH=ON ^
    -DLIBXML2_WITH_PYTHON=OFF ^
    -DLIBXML2_WITH_READER=ON ^
    -DLIBXML2_WITH_REGEXPS=ON ^
    -DLIBXML2_WITH_RUN_DEBUG=OFF ^
    -DLIBXML2_WITH_SAX1=ON ^
    -DLIBXML2_WITH_SCHEMAS=ON ^
    -DLIBXML2_WITH_SCHEMATRON=ON ^
    -DLIBXML2_WITH_THREADS=ON ^
    -DLIBXML2_WITH_THREAD_ALLOC=OFF ^
    -DLIBXML2_WITH_TREE=ON ^
    -DLIBXML2_WITH_VALID=ON ^
    -DLIBXML2_WITH_WRITER=ON ^
    -DLIBXML2_WITH_XINCLUDE=ON ^
    -DLIBXML2_WITH_XPATH=ON ^
    -DLIBXML2_WITH_XPTR=ON

cmake --build %BUILD_ROOT% --parallel

进入CMD,在源码所在的目录下,执行如下命令:

call ohos_build.cmd

等待项目编译结束。