使用OHOS SDK构建mimalloc

发布时间 2024-01-03 23:01:36作者: jackieathome

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

github下载源码。

执行如下命令:

git clone https://github.com/microsoft/mimalloc.git

进入源码所在的目录,创建批处理文件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

set BUILD_TARGET=mimalloc

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" ^
    -DMI_SECURE=ON ^
    -DMI_DEBUG_FULL=OFF ^
    -DMI_PADDING=ON ^
    -DMI_OVERRIDE=ON ^
    -DMI_XMALLOC=ON ^
    -DMI_SHOW_ERRORS=ON ^
    -DMI_VALGRIND=OFF ^
    -DMI_ASAN=OFF ^
    -DMI_USE_CXX=ON ^
    -DMI_SEE_ASM=ON ^
    -DMI_OSX_INTERPOSE=OFF ^
    -DMI_OSX_ZONE=OFF ^
    -DMI_WIN_REDIRECT=OFF ^
    -DMI_LOCAL_DYNAMIC_TLS=ON ^
    -DMI_BUILD_SHARED=ON ^
    -DMI_BUILD_STATIC=OFF ^
    -DMI_BUILD_OBJECT=OFF ^
    -DMI_BUILD_TESTS=OFF ^
    -DMI_DEBUG_TSAN=OFF ^
    -DMI_DEBUG_UBSAN=ON ^
    -DMI_SKIP_COLLECT_ON_EXIT=ON ^
    -DMI_INSTALL_TOPLEVEL=OFF

REM MI_DEBUG_TSAN=OFF error: unsupported option '-fsanitize=thread' for target 'aarch64-unknown-linux-ohos'

cmake --build %BUILD_ROOT% --target %BUILD_TARGET% --parallel

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

call ohos_build.cmd

等待项目编译结束。