Compare commits

...

3 Commits

Author SHA1 Message Date
b58e726004 添加x86_64 架构 2024-05-28 20:19:56 +08:00
5b47699894 调整构建脚本 2024-05-28 20:06:18 +08:00
500ff1073e 调整C++ 代码 2024-05-28 20:05:06 +08:00
31 changed files with 61 additions and 37 deletions

View File

@ -9,7 +9,7 @@
"@devwiki/common_ui": "file:../common_ui", "@devwiki/common_ui": "file:../common_ui",
"@devwiki/base": "file:../base", "@devwiki/base": "file:../base",
"@ohos/axios": "^2.2.0", "@ohos/axios": "^2.2.0",
"@devwiki/native_lib": "file:../native_lib" "@devwiki/hmcalculate": "file:../hmcalculate"
}, },
"devDependencies": {}, "devDependencies": {},
"dynamicDependencies": {} "dynamicDependencies": {}

View File

@ -7,8 +7,7 @@ import { BusinessError } from '@ohos.base';
import { Log } from '@devwiki/base'; import { Log } from '@devwiki/base';
import { BaseLocalStorage, ScreenUtil } from '@devwiki/base'; import { BaseLocalStorage, ScreenUtil } from '@devwiki/base';
import { HomeItem, HomeItemGroup } from '../model/Home'; import { HomeItem, HomeItemGroup } from '../model/Home';
import { common, Want } from '@kit.AbilityKit'; import { CalculateAdapter } from '@devwiki/hmcalculate';
import { CalculateAdapter } from '@devwiki/native_lib/src/main/cpp/types/libnatvie_lib';
@Entry @Entry

View File

@ -81,8 +81,8 @@
] ]
}, },
{ {
"name": "native_lib", "name": "hmcalculate",
"srcPath": "./native_lib", "srcPath": "./hmcalculate",
"targets": [ "targets": [
{ {
"name": "default", "name": "default",

View File

@ -6,6 +6,11 @@ set cmake_root=%native_path%build-tools\cmake\
set cmake_path=%cmake_root%bin\cmake.exe set cmake_path=%cmake_root%bin\cmake.exe
set ninja_path=%cmake_root%bin\ninja.exe set ninja_path=%cmake_root%bin\ninja.exe
set make_path=C:\MinGW\msys\1.0\bin\make.exe set make_path=C:\MinGW\msys\1.0\bin\make.exe
set arch=arm64-v8a
IF NOT "%~1"=="" (
set arch=%1
)
if exist build ( if exist build (
del /q /s build del /q /s build
@ -14,16 +19,20 @@ if exist build (
) )
if exist dist ( if exist dist (
del /q /s dist cd dist
if exist "%arch%" (
del /q /s ""%arch%"
)
cd ../
) )
cd build cd build
:: 使用 make 构建 :: 使用 make 构建
:: %cmake_path% -G"Unix Makefiles" -DCMAKE_MAKE_PROGRAM="%make_path%" -DOHOS_STL=c++_static -DOHOS_ARCH=arm64-v8a -DOHOS_PLATFORM=OHOS -DCMAKE_TOOLCHAIN_FILE=%toolchain% .. :: %cmake_path% -G"Unix Makefiles" -DCMAKE_MAKE_PROGRAM="%make_path%" -DOHOS_STL=c++_static -DOHOS_ARCH="%arch%" -DOHOS_PLATFORM=OHOS -DCMAKE_TOOLCHAIN_FILE=%toolchain% ..
:: %make_path% :: %make_path%
:: 使用 ninja 构建 :: 使用 ninja 构建
%cmake_path% -GNinja -DCMAKE_MAKE_PROGRAM="%ninja_path%" -DOHOS_STL=c++_static -DOHOS_ARCH=arm64-v8a -DOHOS_PLATFORM=OHOS -DCMAKE_TOOLCHAIN_FILE=%toolchain% .. %cmake_path% -GNinja -DCMAKE_MAKE_PROGRAM="%ninja_path%" -DOHOS_STL=c++_static -DOHOS_ARCH="%arch%" -DOHOS_PLATFORM=OHOS -DCMAKE_TOOLCHAIN_FILE=%toolchain% ..
%ninja_path% %ninja_path%
cd ../ cd ../

7
cppLib/build_all.bat Normal file
View File

@ -0,0 +1,7 @@
@echo off
chcp 65001 > nul
build.bat
build.bat x86_64
build.bat

BIN
cppLib/dist/lib/x86_64/libcalculate.so vendored Normal file

Binary file not shown.

1
hmcalculate/Index.ets Normal file
View File

@ -0,0 +1 @@
export { CalculateAdapter } from './src/main/cpp/types/libhmcalculate/index'

View File

@ -4,7 +4,11 @@
"externalNativeOptions": { "externalNativeOptions": {
"path": "./src/main/cpp/CMakeLists.txt", "path": "./src/main/cpp/CMakeLists.txt",
"arguments": "", "arguments": "",
"cppFlags": "" "cppFlags": "",
"abiFilters": [
"arm64-v8a",
"x86_64"
]
} }
}, },
"buildOptionSet": [ "buildOptionSet": [

View File

@ -1,5 +1,5 @@
{ {
"name": "@devwiki/native_lib", "name": "@devwiki/hmcalculate",
"version": "1.0.0", "version": "1.0.0",
"description": "Please describe the basic information.", "description": "Please describe the basic information.",
"main": "Index.ets", "main": "Index.ets",
@ -7,6 +7,6 @@
"license": "Apache-2.0", "license": "Apache-2.0",
"packageType": "InterfaceHar", "packageType": "InterfaceHar",
"dependencies": { "dependencies": {
"native_lib.so": "file:./src/main/cpp/types/libnatvie_lib" "libhmcalculate.so": "file:./src/main/cpp/types/libhmcalculate"
} }
} }

View File

@ -0,0 +1,28 @@
# the minimum version of CMake.
cmake_minimum_required(VERSION 3.4.1)
project(hmcalculate)
set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
if(DEFINED PACKAGE_FIND_FILE)
include(${PACKAGE_FIND_FILE})
endif()
include_directories(${NATIVERENDER_ROOT_PATH}
${NATIVERENDER_ROOT_PATH}/include)
add_library(hmcalculate SHARED
napi_init.cpp
CalculateInfo.h
CalculateAdaptor.cpp)
#
IF(OHOS_ARCH STREQUAL "arm64-v8a")
set(LIB_DIR ${NATIVERENDER_ROOT_PATH}/../../../../cppLib/dist/lib/arm64-v8a)
ELSEIF(OHOS_ARCH STREQUAL "x86_64")
set(LIB_DIR ${NATIVERENDER_ROOT_PATH}/../../../../cppLib/dist/lib/x86_64)
ELSE()
MESSAGE(FATAL_ERROR "Unsupported architecture: ${OHOS_ARCH}")
ENDIF()
target_link_libraries(hmcalculate PUBLIC ${LIB_DIR}/libcalculate.so)

View File

@ -18,9 +18,6 @@ napi_value JS_Constructor(napi_env env, napi_callback_info info) {
return thisVar; return thisVar;
} }
EXTERN_C_START
napi_value Init(napi_env env, napi_value exports) napi_value Init(napi_env env, napi_value exports)
{ {
const char className[] = "CalculateAdaptor"; const char className[] = "CalculateAdaptor";
@ -35,7 +32,6 @@ napi_value Init(napi_env env, napi_value exports)
napi_set_named_property(env, exports, "CalculateAdaptor", result); napi_set_named_property(env, exports, "CalculateAdaptor", result);
return exports; return exports;
} }
EXTERN_C_END
static napi_module demoModule = { static napi_module demoModule = {
.nm_version = 1, .nm_version = 1,

View File

@ -1,5 +1,5 @@
{ {
"name": "native_lib.so", "name": "libhmcalculate.so",
"types": "./index.d.ts", "types": "./index.d.ts",
"version": "", "version": "",
"description": "Please describe the basic information." "description": "Please describe the basic information."

View File

@ -1,6 +1,6 @@
{ {
"module": { "module": {
"name": "native_lib", "name": "hmcalculate",
"type": "shared", "type": "shared",
"description": "$string:shared_desc", "description": "$string:shared_desc",
"deviceTypes": [ "deviceTypes": [

View File

@ -1 +0,0 @@
export { CalculateAdapter } from './src/main/cpp/types/libnatvie_lib/index'

View File

@ -1,19 +0,0 @@
# the minimum version of CMake.
cmake_minimum_required(VERSION 3.4.1)
project(myNpmLib)
set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
if(DEFINED PACKAGE_FIND_FILE)
include(${PACKAGE_FIND_FILE})
endif()
include_directories(${NATIVERENDER_ROOT_PATH}
${NATIVERENDER_ROOT_PATH}/include)
add_library(native_lib SHARED
napi_init.cpp
CalculateInfo.h
CalculateAdaptor.cpp)
target_link_libraries(native_lib PUBLIC ../../../../cppLib/dist/lib/arm64-v8a/libcalculate.so)