1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/han_jin_fei-lycium

Клонировать/Скачать
OHOS_SDK-Usage.md 26 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 22.06.2025 04:58 457e701

Ubuntu 20.04 (рекомендуется)环境下使用 OpenHarmony SDK 编译,OpenHarmony standard 系统北向应用 c/c++ 库

OpenHarmony Linux 环境 SDK 使用说明

下载SDK

​从 openHarmony SDK 官方发布渠道(13b8b5812ce3b3b135743baa6629ed84bd380d8c)下载SDK ![ ](. /ohos_sdk下载.png) ​可以同时下载对应的系统镜像(这里提供的是 32bit OHOS 镜像下载),后面依次为 Windows/Linux 环境下的 SDK,SDK 分为两个版本 full 版本和 public 版本。这两个版本的 SDK 中关于 c/c++ 编译的部分是相同的,因此我们下载哪个都一样(full 版本的 SDK 在 ets 层提供了更多的 API)。再后面是 mac 环境的OHOS SDK。根据自己的环境自行下载对应版本的 SDK。

解压SDK

tar -zxvf version-Master_Version-OpenHarmony_3.2.10.3-20230105_163913-ohos-sdk-full.tar.gz

进入解压得到 ohos_sdk 目录,可以看到 Linux 和 windows 两个平台的 SDK 目录,我们进入 linux。

ohos@ubuntu20:~/tools/OH_SDK$ cd ohos-sdk
ohos@ubuntu20:~/tools/OH_SDK/ohos-sdk$ ls
linux  windows
ohos@ubuntu20:~/tools/OH_SDK/ohos-sdk$ cd linux/
ohos@ubuntu20:~/tools/OH_SDK/ohos-sdk/linux$ ls
ets-linux-x64-4.0.1.2-Canary1.zip  native-linux-x64-4.0.1.2-Canary1.zip     toolchains-linux-x64-4.0.1.2-Canary1.zip
js-linux-x64-4.0.1.2-Canary1.zip    previewer-linux-x64-4.0.1.2-Canary1.zip

解压 Linux 环境下的 OHOS SDK 工具包,得到对应的工具目录。由于我们是 c/c++ 库的编译,我们只关注 native 目录。

ohos@ubuntu20:~/tools/OH_SDK/ohos-sdk/linux$ for i in *.zip;do unzip ${i};done
ohos@ubuntu20:~/tools/OH_SDK/ohos-sdk/linux$ ls
ets                                native                                   toolchains
ets-linux-x64-4.0.1.2-Canary1.zip  native-linux-x64-4.0.1.2-Canary1.zip     toolchains-linux-x64-4.0.1.2-Canary1.zip
js                                 previewer
js-linux-x64-4.0.1.2-Canary1.zip    previewer-linux-x64-4.0.1.2-Canary1.zip

native 目录介绍

ohos@ubuntu20:~/tools/OH_SDK/ohos-sdk/linux$ cd native/
ohos@ubuntu20:~/tools/OH_SDK/ohos-sdk/linux/native$ ls
build        docs  nativeapi_syscap_config.json  NOTICE.txt           sysroot
```build директория содержит конфигурационные файлы, необходимые для сборки с помощью CMake.
build-tools директория содержит инструменты сборки, такие как CMake и Ninja; мы будем использовать Make для сборки.
docs директория содержит руководства по использованию.
llvm директория содержит компилятор Clang.
sysroot директория — это директория sysroot компилятора, содержащая библиотеки и соответствующие заголовочные файлы, включённые в SDK.
oh-uni-package.json — это файл, описывающий информацию о SDK, такую как версию.
NOTICE.txt — это файл с примечаниями, который обычно содержит подробное описание SDK.
ndk_system_capability.json — это файл, который отслеживает возможности, предоставляемые SDK.
nativeapi_syscap_config.json — это файл, который отслеживает возможности, предоставляемые SDK, и соответствующие заголовочные файлы.
**build и build-tools директории предоставляют CMake, Ninja и зависимости toolchain для сборки. LLVM предоставляет цепочку компилятора. Sysroot предоставляет системные ресурсы usr.**
## Использование OHOS SDK
Эта часть описывает базовые методы использования, а также случаи, когда есть зависимости между библиотеками, [перейдите сюда](./OHOS_SDK-Usage-depend-libs.md).
### Сборка библиотек с использованием CMake
SDK использует CMake как основной инструмент для создания скриптов сборки и совместим с разработкой на Deveco. CMake также является наиболее популярным инструментом для сборки проектов на C/C++ в настоящее время.В качестве примера я буду использовать библиотеку cJSON для демонстрации шагов сборки проекта CMake в OHOS SDK. Сначала скачайте/клонируйте исходный код cJSON, я использую версию v1. 7. 15.
```shell
ohos@ubuntu20:~/openHarmony$ git clone https://github.com/DaveGamble/cJSON.git -b v1. 7. 15
Cloning into 'cJSON'...
remote: Counting objects: 4545, done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 4545 (delta 0), reused 0 (delta 0), pack-reused 4545
Receiving objects: 100% (4545/4545), 2. 45 MiB | 1. 65 MiB/s, done.
Resolving deltas: 100% (3026/3026), done.
Note: switching to 'd348621ca93571343a56862df7de4ff3bc9b5667'.
You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
ohos@ubuntu20:~/openHarmony$

Перейдите в директорию cJSON, создайте директорию ohos64build (для хранения файлов сборки) и выполните CMake для создания файла Makefile.

ohos@ubuntu20:~/openHarmony/cJSON/ohos64build$ /home/ohos/tools/OH_SDK/ohos-sdk/linux/native/build-tools/cmake/bin/cmake -DCMAKE_TOOLCHAIN_FILE=/home/ohos/tools/OH_SDK/ohos-sdk/linux/native/build/cmake/ohos.toolchain.cmake . . -L
	# Если требуется скомпилировать статическую библиотеку, то нужно установить переменную cmake -DBUILD_SHARED_LIBS=OFF
	# Можно использовать -DCMAKE_INSTALL_PREFIX=xxx для установки директории установки библиотеки
	# Для компиляции arm32 используйте -DOHOS_ARCH=armeabi-v7a
-- The C compiler identification is Clang 12. 0. 1
-- Check for working C compiler: /home/ohos/tools/OH_SDK/ohos-sdk/linux/native/llvm/bin/clang # Используется компилятор из SDK
```-- Проверка рабочего компилятора C: /home/ohos/tools/OH_SDK/ohos-sdk/linux/native/llvm/bin/clang -- работает
 # Удалите большое количество логов cmake
 ENABLE_PUBLIC_SYMBOLS:BOOL=ON
 ENABLE_SAFE_STACK:BOOL=OFF
 ENABLE_SANITIZERS:BOOL=OFF
 ENABLE_TARGET_EXPORT:BOOL=ON
 ENABLE_VALGRIND:BOOL=OFF
 ohos@ubuntu20:~/openHarmony/cJSON/ohos64build$
Обратите внимание, что выполняется cmake из SDK, а не ваш собственный cmake. Включая toolchain file, который также находится в SDK. Выполните make для сборки библиотеки cjson
ohos@ubuntu20:~/openHarmony/cJSON/ohos64build$ make
Scanning dependencies of target cjson
[  2%] Building C object CMakeFiles/cjson.dir/cJSON.c.o
clang: warning: argument unused during compilation: '--gcc-toolchain=/home/ohos/tools/OH_SDK/ohos-sdk/linux/native/llvm' [-Wunused-command-line-argument]
# Удалите большое количество логов make
[100%] Linking C executable fuzz_main
[100%] Built target fuzz_main
ohos@ubuntu20:~/openHarmony/cJSON/ohos64build$
Используйте команду file для просмотра свойств сгенерированного elf файла. Можно видеть, что динамическая библиотека и исполняемый файл являются архитектурой ARM aarch64. ohos cmake toolchainfile по умолчанию является aarch64, если вы хотите скомпилировать arm32, вам нужно добавить параметр -DOHOS_ARCH=armeabi-v7a при выполнении cmake
ohos@ubuntu20:~/openHarmony/cJSON/ohos64build$ ls
cJSONConfig.cmake         cJSON_test      CMakeFiles           CTestTestfile.cmake  libcjson.pc  libcjson.so  libcjson.so.1       Makefile
cJSONConfigVersion.cmake  CMakeCache.txt  cmake_install.cmake  fuzzing              libcjson.so  libcjson.so.1.7.15  tests
ohos@ubuntu20:~/openHarmony/cJSON/ohos64build$ file libcjson.so.1.7.15 cJSON_test
libcjson.so.1.7.15: ELF 64-bit LSB shared object, aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID=9bddd6d6f3c4e4b7b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9bОткрытые сообщества содержат множество библиотек, которые не используют CMake для компиляции. Как использовать SDK OpenHarmony для компиляции таких библиотек?

#### Метод 1: Переписать процесс сборки с использованием CMake-скриптов
Этот метод требует анализа скриптов сборки исходной библиотеки или анализа логов компиляции. Я рекомендую анализировать логи кросс-компиляции, а не логи x86_64 (CMake). Если вы используете этот метод, обратитесь к руководству по написанию CMake для сторонних библиотек OH [руководство по CMake](https://gitee.com/huangminzhong/cmake_study) и [стандартам написания](./cmake_specification.md).

#### Метод 2: Использование оригинальных средств сборки проекта, таких как configure, Makefile
Как использовать оригинальные средства сборки? В первую очередь следует знать, что скрипты сборки не вызывают GCC или Clang напрямую. Они вызывают компиляторы C и C++ через переменные окружения CC и CXX соответственно. Установив эти переменные, можно заставить средства сборки использовать компиляторы SDK OpenHarmony.Установка переменных окружения для компиляции 64-битных библиотек OpenHarmony
```bash
# aarch64-linux-ohos
export OHOS_SDK=/home/ohos/tools/OH_SDK/ohos-sdk/linux # Это мой каталог распакованного ohos_sdk, замените его на свой
export AS=${OHOS_SDK}/native/llvm/bin/llvm-as
export CC="${OHOS_SDK}/native/llvm/bin/clang --target=aarch64-linux-ohos"
export CXX="${OHOS_SDK}/native/llvm/bin/clang++ --target=aarch64-linux-ohos"
export LD=${OHOS_SDK}/native/llvm/bin/ld.lld
export STRIP=${OHOS_SDK}/native/llvm/bin/llvm-strip
export RANLIB=${OHOS_SDK}/native/llvm/bin/llvm-ranlib
export OBJDUMP=${OHOS_SDK}/native/llvm/bin/llvm-objdump
export OBJCOPY=${OHOS_SDK}/native/llvm/bin/llvm-objcopy

Настройка переменных окружения для компиляции 32-битной библиотеки OHOS

linux-arm
export OHOS_SDK=/home/ohos/tools/OH_SDK/ohos-sdk/linux # Укажите свой путь к распакованному SDK OHOS
export AS=${OHOS_SDK}/native/llvm/bin/llvm-as
export CC="${OHOS_SDK}/native/llvm/bin/clang --target=arm-linux-ohos"
export CXX="${OHOS_SDK}/native/llvm/bin/clang++ --target=arm-linux-ohos"
export LD=${OHOS_SDK}/native/llvm/bin/ld.lld
export STRIP=${OHOS_SDK}/native/llvm/bin/llvm-strip
export RANLIB=${OHOS_SDK}/native/llvm/bin/llvm-ranlib
export OBJDUMP=${OHOS_SDK}/native/llvm/bin/llvm-objdump
export OBJCOPY=${OHOS_SDK}/native/llvm/bin/llvm-objcopy
export NM=${OHOS_SDK}/native/llvm/bin/llvm-nm
export AR=${OHOS_SDK}/native/llvm/bin/llvm-ar
export CFLAGS="-fPIC -march=armv7-a -D__MUSL__=1"
export CXXFLAGS="-fPIC -march=armv7-a -D__MUSL__=1"

Используйте команду unset для удаления переменных окружения

unset OHOS_SDK AS CC CXX LD STRIP RANLIB OBJDUMP OBJCOPY NM AR CFLAGS CXXFLAGS

После настройки компилятора можно использовать стандартный метод configure для компиляции.### Пример использования ​ В качестве примера рассмотрим компиляцию библиотеки OpenSSL для системы OpenHarmony с использованием SDK OHOS (OpenSSL использует метод configure для компиляции). ​ Сначала клонируем официальный исходный код OpenSSL, версию OpenSSL_1_1_1t.

ohos@ubuntu20:~/openHarmony$ git clone https://github.com/openssl/openssl.git -b OpenSSL_1_1_1t
Cloning into 'openssl'...
remote: Enumerating objects: 446051, done.
remote: Counting objects: 100% (342/342), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 446051 (delta 207), reused 259 (delta 159), pack-reused 445709
Receiving objects: 100% (446051/446051), 272.13 MiB | 1.53 MiB/s, done.
Resolving deltas: 100% (316557/316557), done.
Note: switching to '830bf8e1e4749ad65c51b6a1d0d769ae689404ba'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>

Или отмените это действие с помощью: git switch - Выключите это уведомление, установив конфигурационную переменную advice.detachedHead в значение false

​	Установите переменные окружения для требуемой цепочки компиляторов, здесь используется цепочка компиляторов для сборки ohos64bit. Если вам нужно скомпилировать ohos32bit, установите переменные для 32-битной цепочки компиляторов.

ohos@ubuntu20:/openHarmony/openssl$ export OHOS_SDK=/home/ohos/tools/OH_SDK/ohos-sdk/linux #Здесь укажите свой каталог развертывания SDK ohos@ubuntu20:/openHarmony/openssl$ export AS=${OHOS_SDK}/native/llvm/bin/llvm-as ohos@ubuntu20:~/openHarmony/openssl$ export CC="${OHOS_SDK}/native/llvm/bin/clang --target=aarch64-linux-ohos"

 ohos@ubuntu20:~/openHarmony/openssl$ export LD=${OHOS_SDK}/native/llvm/bin/lld
 ohos@ubuntu20:~/openHarmony/openssl$ export STRIP=${OHOS_SDK}/native/llvm/bin/llvm-strip
 ohos@ubuntu20:~/openHarmony/openssl$ export RANLIB=${OHOS_SDK}/native/llvm/bin/llvm-ranlib
 ohos@ubuntu20:~/openHarmony/openssl$ export OBJDUMP=${OHOS_SDK}/native/llvm/bin/llvm-objdump
 ohos@ubuntu20:~/openHarmony/openssl$ export OBJCOPY=${OHOS_SDK}/native/llvm/bin/llvm-objcopy
 ohos@ubuntu20:~/openHarmony/openssl$ export NM=${OHOS_SDK}/native/llvm/bin/llvm-nm
 ohos@ubuntu20:~/openHarmony/openssl$ export AR=${OHOS_SDK}/native/llvm/bin/llvm-ar
 ohos@ubuntu20:~/openHarmony/openssl$ export CFLAGS="-fPIC -D__MUSL__=1"
 ohos@ubuntu20:~/openHarmony/openssl$ export CXXFLAGS="-fPIC -D__MUSL__=1"

Выполните скрипт конфигурации Configure

ohos@ubuntu20:~/openHarmony/openssl$ . /Configure linux-aarch64 --prefix=/home/ohos/openHarmony/openssl_install
# При необходимости выберите систему, так как configure не распознает ohos, используйте эквивалентную Linux aarch64 систему и архитектуру процессора. Для удобства пакетирования необходимо указать директорию установки
Конфигурация OpenSSL версии 1.1.1t (0x1010114fL) для linux-aarch64
Используется конфигурация семян, специфичная для операционной системы
Создание файла configdata.pm
Создание файла Makefile
**********************************************************************
***                                                                ***
***   OpenSSL успешно конфигурирована                             ***
***                                                                ***
***   Если вы столкнулись с проблемой при сборке, пожалуйста,     ***
***   создайте задачу на GitHub <https://github.com/openssl/openssl/issues>  ***
***
***
Переведите вывод следующей команды:
***
***       perl configdata.pm --dump
***  
***   (Если вы новичок в OpenSSL, вам может помочь раздел «Troubleshooting» файла INSTALL)  
***  
***  
**********************************************************************  
ohos@ubuntu20:~/openHarmony/openssl$ make  
/usr/bin/perl "-I.  " -Mconfigdata "util/dofile. pl" \
    "-oMakefile" include/crypto/bn_conf. h. in > include/crypto/bn_conf. h  
/usr/bin/perl "-I.  " -Mconfigdata "util/dofile. pl" \
    "-oMakefile" include/crypto/dso_conf. h. in > include/crypto/dso_conf. h  
/usr/bin/perl "-I.  " -Mconfigdata "util/dofile. pl" \
    "-oMakefile" include/openssl/opensslconf. h. in > include/openssl/opensslconf. h  
make depend && make _all  
make[1]: Вход в каталог '/home/ohos/openHarmony/openssl'  
make[1]: Выход из каталога '/home/ohos/openHarmony/openssl'  
make[1]: Вход в каталог '/home/ohos/openHarmony/openssl'  
/home/ohos/tools/OH_SDK/ohos-sdk/linux/native/llvm/bin/clang  -I.   -Iinclude -fPIC -pthread -Wa,--noexecstack -Qunused-arguments -fPIC --target=aarch64-linux-ohos -D__MUSL__=1 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/home/ohos/openHarmony/openssl_install/ssl\"" -DENGINESDIR="\"/home/ohos/openHarmony/openssl_install/lib/engines-1.  1\"" -DNDEBUG  -MMD -MF apps/app_rand. d. tmp -MT apps/app_rand. o -c -o apps/app_rand. o apps/app_rand. c  
# Удалите большое количество логов make  
${LDCMD:-/home/ohos/tools/OH_SDK/ohos-sdk/linux/native/llvm/bin/clang} -pthread -Wa,--noexecstack -Qunused-arguments -fPIC --target=aarch64-linux-ohos -D__MUSL__=1 -L.     \
        -o test/x509aux test/x509aux. o \
         test/libtestutil. a -lcrypto -ldl -pthread  
/usr/bin/perl "-I.  " -Mconfigdata "util/dofile. pl" \
    "-oMakefile" apps/CA. pl. in > "apps/CA. pl"  
chmod a+x apps/CA. pl  
/usr/bin/perl "-I.  " -Mconfigdata "util/dofile. pl" \
    "-oMakefile" apps/tsget. in > "apps/tsget. pl"  
chmod a+x apps/tsget. pl  
/usr/bin/perl "-I.  " -Mconfigdata "util/dofile. pl" \
    "-oMakefile" tools/c_rehash. in > "tools/c_rehash"  
chmod a+x tools/c_rehash  
/usr/bin/perl "-I.  " -Mconfigdata "util/dofile. pl" \
    "-oMakefile" util/shlib_wrap. sh. in > "util/shlib_wrap. sh"  
chmod a+x util/shlib_wrap. sh```markdown
make[1]: Leaving directory '/home/ohos/openHarmony/openssl'
ohos@ubuntu20:~/openHarmony/openssl$ make install
make depend && make _build_libs
make[1]: Entering directory '/home/ohos/openHarmony/openssl'
make[1]: Leaving directory '/home/ohos/openHarmony/openssl'
make[1]: Entering directory '/home/ohos/openHarmony/openssl'
make[1]: Nothing to be done for '_build_libs'.
make[1]: Leaving directory '/home/ohos/openHarmony/openssl'
создан каталог `/home/ohos/openHarmony/openssl_install/lib'
*** Установка рабочих библиотек
установка libcrypto.so.1.1 -> /home/ohos/openHarmony/openssl_install/lib/libcrypto.so.1.1
установка libssl.so.1.1 -> /home/ohos/openHarmony/openssl_install/lib/libssl.so.1.1
*** Установка файлов для разработки
создан каталог `/home/ohos/openHarmony/openssl_install/include'
создан каталог `/home/ohos/openHarmony/openssl_install/include/openssl'
установка ./include/openssl/aes.h -> /home/ohos/openHarmony/openssl_install/include/openssl/aes.h
установка ./include/openssl/asn1.h -> /home/ohos/openHarmony/openssl_install/include/openssl/asn1.h
установка ./include/openssl/asn1_mac.h -> /home/ohos/openHarmony/openssl_install/include/openssl/asn1_mac.h
# удаление большого количества логов установки
/home/ohos/openHarmony/openssl_install/share/doc/openssl/html/man7/X25519.html
/home/ohos/openHarmony/openssl_install/share/doc/openssl/html/man7/X448.html -> /home/ohos/openHarmony/openssl_install/share/doc/openssl/html/man7/X25519.html
/home/ohos/openHarmony/openssl_install/share/doc/openssl/html/man7/x509.html
ohos@ubuntu20:~/openHarmony/openssl$

После завершения установки просмотрите каталог установки, чтобы убедиться, что исполняемые файлы, динамические библиотеки, статические библиотеки и заголовочные файлы были установлены в указанные каталоги.

ohos@ubuntu20:~/openHarmony/openssl$ cd ../openssl_install/
ohos@ubuntu20:~/openHarmony/openssl_install$ ls
bin  include  lib  share  ssl
ohos@ubuntu20:~/openHarmony/openssl_install$ ls bin/
c_rehash  openssl
aes.h       bnerr.h      comp.h       dh.h         engine.h  md2.h         opensslconf.h  rand_drbg.h  seed.h      store.h     x509.h
asn1err.h   bn.h         conf_api.h   dsaerr.h     e_os2.h   md4.h         opensslv.h     randerr.h    sha.h       symhacks.h  x509v3err.h
asn1.h      buffererr.h  conferr.h    dsa.h        err.h     md5.h         ossl_typ.h     rand.h       srp.h       tls1.h      x509v3.h
asn1_mac.h  buffer.h     conf.h       dtls1.h      evperr.h  mdc2.h        pem2.h         rc2.h        srtp.h      tserr.h     x509_vfy.h
asn1t.h     camellia.h   cryptoerr.h  ebcdic.h     evp.h     modes.h       pemerr.h       rc4.h        ssl2.h      ts.h
asyncerr.h  cast.h       crypto.h     ecdh.h       hmac.h    objectserr.h  pkcs12err.h    ripemd.h     ssl3.h      txt_db.h
async.h     cmac.h       cterr.h      ecdsa.h      idea.h    objects.h     pkcs12.h       rsaerr.h     ssl.h       uierr.h
bioerr.h    cmserr.h     ct.h         ecerr.h      kdferr.h  obj_mac.h     pkcs7err.h     rsa.h        stack.h     whrlpool.h
bio.h       cms.h        des.h        ec.h         kdf.h     ocsperr.h     pkcs7.h        safestack.h  storeerr.h  x509err.h
```ohos@ubuntu20:~/openHarmony/openssl_install$ file lib/*
lib/engines-1.1: директория
lib/libcrypto.a: текущий архив ar
lib/libcrypto.so: символьная ссылка на libcrypto.so.1.1
lib/libcrypto.so.1.1: ELF 64-битный LSB объект сопряжения, ARM aarch64, версия 1 (SYSV), динамически связанный, с отладочной информацией, не стipped
lib/libssl.a: текущий архив ar
lib/libssl.so: символьная ссылка на libssl.so.1.1
lib/libssl.so.1.1: ELF 64-битный LSB объект сопряжения, ARM aarch64, версия 1 (SYSV), динамически связанный, с отладочной информацией, не стipped
lib/pkgconfig: директория

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/han_jin_fei-lycium.git
git@api.gitlife.ru:oschina-mirror/han_jin_fei-lycium.git
oschina-mirror
han_jin_fei-lycium
han_jin_fei-lycium
master