解决命名不规则问题
This commit is contained in:
parent
25794b178b
commit
664a6b536f
@ -8,7 +8,7 @@
|
||||
},
|
||||
"externalNativeOptions": {
|
||||
"path": "./src/main/cpp/CMakeLists.txt",
|
||||
"arguments": "-DCMAKE_BUILD_TYPE=Release -DOHOS_STL=c++_shared ",
|
||||
"arguments": "-DCMAKE_BUILD_TYPE=Release",
|
||||
"cppFlags": "",
|
||||
"abiFilters": [
|
||||
"x86_64"
|
||||
@ -17,7 +17,7 @@
|
||||
"arkOptions": {
|
||||
"runtimeOnly" : {
|
||||
"packages": [
|
||||
"libnativeocct.so"
|
||||
"libopencax.so"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
BIN
entry/libs/x86_64/libTKBO.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKBO.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKBRep.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKBRep.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKBin.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKBin.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKBinL.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKBinL.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKBinTObj.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKBinTObj.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKBinXCAF.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKBinXCAF.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKBool.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKBool.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKCAF.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKCAF.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKCDF.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKCDF.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKDE.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKDE.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKDECascade.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKDECascade.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKDEGLTF.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKDEGLTF.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKDEIGES.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKDEIGES.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKDEOBJ.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKDEOBJ.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKDEPLY.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKDEPLY.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKDESTEP.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKDESTEP.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKDESTL.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKDESTL.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKDEVRML.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKDEVRML.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKFeat.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKFeat.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKFillet.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKFillet.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKG2d.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKG2d.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKG3d.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKG3d.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKGeomAlgo.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKGeomAlgo.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKGeomBase.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKGeomBase.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKHLR.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKHLR.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKLCAF.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKLCAF.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKMath.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKMath.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKMesh.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKMesh.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKMeshVS.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKMeshVS.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKOffset.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKOffset.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKOpenGles.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKOpenGles.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKPrim.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKPrim.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKRWMesh.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKRWMesh.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKService.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKService.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKShHealing.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKShHealing.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKStd.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKStd.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKStdL.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKStdL.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKTObj.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKTObj.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKTopAlgo.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKTopAlgo.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKV3d.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKV3d.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKVCAF.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKVCAF.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKXCAF.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKXCAF.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKXMesh.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKXMesh.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKXSBase.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKXSBase.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKXml.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKXml.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKXmlL.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKXmlL.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKXmlTObj.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKXmlTObj.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKXmlXCAF.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKXmlXCAF.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libTKernel.so.7.9
Normal file
BIN
entry/libs/x86_64/libTKernel.so.7.9
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libbrotlicommon.so.1
Normal file
BIN
entry/libs/x86_64/libbrotlicommon.so.1
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libbrotlidec.so.1
Normal file
BIN
entry/libs/x86_64/libbrotlidec.so.1
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libbrotlienc.so.1
Normal file
BIN
entry/libs/x86_64/libbrotlienc.so.1
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libbz2.so.1.0
Normal file
BIN
entry/libs/x86_64/libbz2.so.1.0
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libexpat.so.1
Normal file
BIN
entry/libs/x86_64/libexpat.so.1
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libfontconfig.so.1
Normal file
BIN
entry/libs/x86_64/libfontconfig.so.1
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libfreetype.so.6
Normal file
BIN
entry/libs/x86_64/libfreetype.so.6
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libpng16.so.16
Normal file
BIN
entry/libs/x86_64/libpng16.so.16
Normal file
Binary file not shown.
BIN
entry/libs/x86_64/libz.so.1
Normal file
BIN
entry/libs/x86_64/libz.so.1
Normal file
Binary file not shown.
@ -6,13 +6,13 @@
|
||||
"lockfileVersion": 3,
|
||||
"ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.",
|
||||
"specifiers": {
|
||||
"libnativeocct.so@src/main/cpp/types/libnativeocct": "libnativeocct.so@src/main/cpp/types/libnativeocct"
|
||||
"libopencax.so@src/main/cpp/types/libopencax": "libopencax.so@src/main/cpp/types/libopencax"
|
||||
},
|
||||
"packages": {
|
||||
"libnativeocct.so@src/main/cpp/types/libnativeocct": {
|
||||
"name": "libnativeocct.so",
|
||||
"libopencax.so@src/main/cpp/types/libopencax": {
|
||||
"name": "libopencax.so",
|
||||
"version": "1.0.0",
|
||||
"resolved": "src/main/cpp/types/libnativeocct",
|
||||
"resolved": "src/main/cpp/types/libopencax",
|
||||
"registryType": "local"
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,6 +6,6 @@
|
||||
"author": "",
|
||||
"license": "",
|
||||
"dependencies": {
|
||||
"libnativeocct.so": "file:./src/main/cpp/types/libnativeocct"
|
||||
"libopencax.so": "file:./src/main/cpp/types/libopencax"
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
# the minimum version of CMake.
|
||||
cmake_minimum_required(VERSION 3.18.1)
|
||||
project(OpenCAX)
|
||||
project(opencax)
|
||||
|
||||
set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
add_definitions(-DOHOS_PLATFORM)
|
||||
@ -36,40 +36,18 @@ endforeach()
|
||||
|
||||
#THIRD_PARTY_LIBS
|
||||
set(THIRD_PARTY_LIBS
|
||||
freetype fontconfig expat z bz2 png16 brotlicommon brotlidec brotlienc
|
||||
${OCCT_LIB_DIR}/libfreetype.so.6
|
||||
${OCCT_LIB_DIR}/libexpat.so.1
|
||||
${OCCT_LIB_DIR}/libfontconfig.so.1
|
||||
${OCCT_LIB_DIR}/libbrotlidec.so.1
|
||||
${OCCT_LIB_DIR}/libbrotlicommon.so.1
|
||||
${OCCT_LIB_DIR}/libbrotlienc.so.1
|
||||
${OCCT_LIB_DIR}/libpng16.so.16
|
||||
${OCCT_LIB_DIR}/libbz2.so.1.0
|
||||
${OCCT_LIB_DIR}/libz.so.1
|
||||
)
|
||||
foreach(LIB_NAME ${THIRD_PARTY_LIBS})
|
||||
if(LIB_NAME STREQUAL "z")
|
||||
set(LIB_FILE "libz.so.1")
|
||||
elseif(LIB_NAME STREQUAL "bz2")
|
||||
set(LIB_FILE "libbz2.so.1.0")
|
||||
elseif(LIB_NAME STREQUAL "png16")
|
||||
set(LIB_FILE "libpng16.so.16")
|
||||
elseif(LIB_NAME STREQUAL "brotlicommon")
|
||||
set(LIB_FILE "libbrotlicommon.so.1")
|
||||
elseif(LIB_NAME STREQUAL "brotlidec")
|
||||
set(LIB_FILE "libbrotlidec.so.1")
|
||||
elseif(LIB_NAME STREQUAL "brotlienc")
|
||||
set(LIB_FILE "libbrotlienc.so.1")
|
||||
elseif(LIB_NAME STREQUAL "fontconfig")
|
||||
set(LIB_FILE "libfontconfig.so.1")
|
||||
elseif(LIB_NAME STREQUAL "freetype")
|
||||
set(LIB_FILE "libfreetype.so.6")
|
||||
elseif(LIB_NAME STREQUAL "expat")
|
||||
set(LIB_FILE "libexpat.so.1")
|
||||
endif()
|
||||
|
||||
add_library(tp_${LIB_NAME} SHARED IMPORTED)
|
||||
set_target_properties(tp_${LIB_NAME} PROPERTIES
|
||||
IMPORTED_LOCATION ${OCCT_LIB_DIR}/${LIB_FILE}
|
||||
IMPORTED_SONAME ${LIB_FILE}
|
||||
)
|
||||
list(APPEND OCCT_IMPORTED_LIBS tp_${LIB_NAME})
|
||||
endforeach()
|
||||
|
||||
# 添加源文件
|
||||
add_library(nativeocct SHARED
|
||||
napi_init.cpp
|
||||
add_library(opencax SHARED
|
||||
# Header
|
||||
EGLCore/EGLCore.h
|
||||
OCCTRender/OCCTRender.h
|
||||
@ -78,6 +56,8 @@ add_library(nativeocct SHARED
|
||||
EGLCore/EGLCore.cpp
|
||||
OCCTRender/OCCTRender.cpp
|
||||
OCCTRenderThread/OCCTRenderThread.cpp
|
||||
|
||||
napi_init.cpp
|
||||
)
|
||||
|
||||
# 查找系统库
|
||||
@ -88,7 +68,7 @@ find_library(libace-lib ace_ndk.z)
|
||||
find_library(libuv-lib uv)
|
||||
|
||||
# 链接系统库
|
||||
target_link_libraries(nativeocct PUBLIC
|
||||
target_link_libraries(opencax PUBLIC
|
||||
# EGL Hilog 库
|
||||
${EGL-lib}
|
||||
${GLES-lib}
|
||||
@ -99,5 +79,6 @@ target_link_libraries(nativeocct PUBLIC
|
||||
libace_napi.z.so
|
||||
#OCCT核心库
|
||||
${OCCT_IMPORTED_LIBS}
|
||||
${THIRD_PARTY_LIBS}
|
||||
)
|
||||
|
||||
|
||||
@ -132,17 +132,18 @@ static napi_value Init(napi_env env, napi_value exports) {
|
||||
EXTERN_C_END
|
||||
|
||||
// 编写接口的描述信息,根据实际需要可以修改对应参数
|
||||
static napi_module occtmodel = {
|
||||
static napi_module OpenCAXModel = {
|
||||
.nm_version = 1,
|
||||
.nm_flags = 0,
|
||||
.nm_filename = nullptr,
|
||||
.nm_register_func = Init,
|
||||
.nm_modname = "occtrender",
|
||||
.nm_modname = "opencax",
|
||||
.nm_priv = ((void*)0),
|
||||
.reserved = { 0 }
|
||||
};
|
||||
|
||||
extern "C" __attribute__((constructor)) void RegisterModule(void)
|
||||
extern "C" __attribute__((constructor))
|
||||
void RegisterOpenCAXModule(void)
|
||||
{
|
||||
napi_module_register(&occtmodel);
|
||||
napi_module_register(&OpenCAXModel);
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "libnativeocct.so",
|
||||
"name": "libopencax.so",
|
||||
"types": "./Index.d.ts",
|
||||
"version": "1.0.0",
|
||||
"description": "Please describe the basic information."
|
||||
@ -5,21 +5,34 @@ import { Context } from '@kit.AbilityKit';
|
||||
//import OCCTRender from 'libocctrender.so';
|
||||
|
||||
const DOMAIN = 0x0000;
|
||||
const TAG = 'ModelView';
|
||||
|
||||
@Component
|
||||
export struct ModelView {
|
||||
private displayController: XComponentController = new XComponentController();
|
||||
private displayContrId: string = 'OCCTRenderer';
|
||||
private displayContrId: string = 'OCCTRenderer'
|
||||
@State modelPath: string = '';
|
||||
@State modelName:string='model.step';
|
||||
@State nativeWindow:string='';
|
||||
@State loadStatus: string = '未测试';
|
||||
|
||||
aboutToAppear() {
|
||||
this.copyRawFileToSandbox();
|
||||
}
|
||||
async loadNativeLibrary() {
|
||||
try {
|
||||
let NaviteOCCT = await import("libopencax.so")
|
||||
console.info(`[NDK] 模块类型: ${typeof NaviteOCCT}`);
|
||||
console.info(`[NDK] 模块值: ${JSON.stringify(NaviteOCCT)}`);
|
||||
console.info(`[NDK] 所有属性: ${Object.keys(NaviteOCCT).join(', ')}`);
|
||||
if (!NaviteOCCT) throw new Error("模块为 undefined");
|
||||
} catch (e) {
|
||||
console.error(`[NDK] 加载失败: ${e.message}`, e);
|
||||
// 此处会触发你看到的错误
|
||||
}
|
||||
}
|
||||
async copyRawFileToSandbox() {
|
||||
try {
|
||||
|
||||
const context = getContext(this);
|
||||
this.modelPath = `${context.filesDir}/${this.modelName}`;
|
||||
const arrayBuffer:Uint8Array = await context.resourceManager.getRawFileContent(this.modelName);
|
||||
@ -50,12 +63,6 @@ export struct ModelView {
|
||||
Row(){
|
||||
Button('加载模型').onClick(()=>{
|
||||
try {
|
||||
// 调用 native 初始化渲染器
|
||||
console.log('displayContrId:', this.displayContrId);
|
||||
console.log('NativeWindow:', this.nativeWindow);
|
||||
console.log('ModelPath:', this.modelPath);
|
||||
hilog.info(0x0000, 'ModelView', 'Load Model');
|
||||
// 复制模型文件并获取路径
|
||||
console.info('Model copied to:', this.modelPath);
|
||||
// 调用 native 加载
|
||||
//OCCTRender.loadModel(this.displayContrId, this.modelPath);
|
||||
@ -63,17 +70,8 @@ export struct ModelView {
|
||||
hilog.error(0x0000, 'ModelView', `LoadModel Failed: ${JSON.stringify(e)}`);
|
||||
}
|
||||
})
|
||||
Button('测试库加载').onClick(async()=>{
|
||||
try {
|
||||
const nativeocct = await import("libnativeocct.so")
|
||||
console.info(`[NDK] 模块类型: ${typeof nativeocct}`);
|
||||
console.info(`[NDK] 模块值: ${JSON.stringify(nativeocct)}`);
|
||||
console.info(`[NDK] 所有属性: ${Object.keys(nativeocct).join(', ')}`);
|
||||
if (!nativeocct) throw new Error("模块为 undefined");
|
||||
} catch (e) {
|
||||
console.error(`[NDK] 加载失败: ${e.message}`, e);
|
||||
// 此处会触发你看到的错误
|
||||
}
|
||||
Button('测试模块加载').onClick(async()=>{
|
||||
this.loadNativeLibrary();
|
||||
})
|
||||
}
|
||||
XComponent({
|
||||
|
||||
Loading…
Reference in New Issue
Block a user