diff --git a/cppLib/CMakeLists.txt b/cppLib/CMakeLists.txt index db127ca..7684869 100644 --- a/cppLib/CMakeLists.txt +++ b/cppLib/CMakeLists.txt @@ -20,7 +20,10 @@ ELSE() ENDIF() # 添加共享库 -add_library(${PROJECT_NAME} ${STATIC_OR_SHARED} library.cpp) +add_library(${PROJECT_NAME} ${STATIC_OR_SHARED} + Calculate.cpp + CalculateInfo.h +) # 解析配置 if(EX_PLATFORM EQUAL 32) diff --git a/cppLib/library.cpp b/cppLib/Calculate.cpp similarity index 94% rename from cppLib/library.cpp rename to cppLib/Calculate.cpp index 7b65604..d814cb7 100644 --- a/cppLib/library.cpp +++ b/cppLib/Calculate.cpp @@ -1,4 +1,4 @@ -#include "library.h" +#include "Calculate.h" #include diff --git a/cppLib/library.h b/cppLib/Calculate.h similarity index 82% rename from cppLib/library.h rename to cppLib/Calculate.h index 0eaa052..502230d 100644 --- a/cppLib/library.h +++ b/cppLib/Calculate.h @@ -2,12 +2,7 @@ #define CPPLIB_LIBRARY_H #include - -struct CalculateInfo { - std::string name; - std::string versionName; - int versionCode; -}; +#include "CalculateInfo.h" class Calculate { public: diff --git a/native_lib/src/main/cpp/library.h b/cppLib/CalculateInfo.h similarity index 53% rename from native_lib/src/main/cpp/library.h rename to cppLib/CalculateInfo.h index 3dcf0c6..ae6a296 100644 --- a/native_lib/src/main/cpp/library.h +++ b/cppLib/CalculateInfo.h @@ -1,11 +1,11 @@ // -// Created on 2024/4/22. +// Created on 2024/5/28. // // Node APIs are not fully supported. To solve the compilation error of the interface cannot be found, // please include "napi/native_api.h". -#ifndef HM4DEMO_CALCULATE_H -#define HM4DEMO_CALCULATE_H +#ifndef HM4DEMO_CALCULATEINFO_H +#define HM4DEMO_CALCULATEINFO_H #include struct CalculateInfo { @@ -14,10 +14,4 @@ struct CalculateInfo { int versionCode; }; -class Calculate { -public: - static Calculate& getInstance(); - int add(int a, int b); - CalculateInfo getInfo(); -}; -#endif //HM4DEMO_CALCULATE_H +#endif //HM4DEMO_CALCULATEINFO_H diff --git a/cppLib/dist/lib/arm64-v8a/libcalculate.so b/cppLib/dist/lib/arm64-v8a/libcalculate.so index 0ed71cc..f0c1bc6 100644 Binary files a/cppLib/dist/lib/arm64-v8a/libcalculate.so and b/cppLib/dist/lib/arm64-v8a/libcalculate.so differ diff --git a/native_lib/Index.ets b/native_lib/Index.ets index b001e25..25a2644 100644 --- a/native_lib/Index.ets +++ b/native_lib/Index.ets @@ -1 +1 @@ -export {} from './src/main/cpp/types/libnatvie_lib/index' \ No newline at end of file +export { CalculateAdapter } from './src/main/cpp/types/libnatvie_lib/index' \ No newline at end of file diff --git a/native_lib/src/main/cpp/CMakeLists.txt b/native_lib/src/main/cpp/CMakeLists.txt index 2aa36ba..e80ee06 100644 --- a/native_lib/src/main/cpp/CMakeLists.txt +++ b/native_lib/src/main/cpp/CMakeLists.txt @@ -11,6 +11,9 @@ endif() include_directories(${NATIVERENDER_ROOT_PATH} ${NATIVERENDER_ROOT_PATH}/include) -add_library(native_lib SHARED napi_init.cpp) +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) \ No newline at end of file diff --git a/native_lib/src/main/cpp/Calculate.h b/native_lib/src/main/cpp/Calculate.h new file mode 100644 index 0000000..502230d --- /dev/null +++ b/native_lib/src/main/cpp/Calculate.h @@ -0,0 +1,25 @@ +#ifndef CPPLIB_LIBRARY_H +#define CPPLIB_LIBRARY_H + +#include +#include "CalculateInfo.h" + +class Calculate { +public: + static Calculate& getInstance(); + int add(int a, int b); + CalculateInfo getInfo(); + + // 删除拷贝构造函数和赋值运算符 + Calculate(const Calculate&) = delete; + Calculate& operator=(const Calculate&) = delete; + +private: + // 构造函数和析构函数私有化 + Calculate() {} + ~Calculate() {} +}; +#endif //CPPLIB_LIBRARY_H + + + diff --git a/native_lib/src/main/cpp/CalculateAdaptor.cpp b/native_lib/src/main/cpp/CalculateAdaptor.cpp index 318cdf3..efdacf5 100644 --- a/native_lib/src/main/cpp/CalculateAdaptor.cpp +++ b/native_lib/src/main/cpp/CalculateAdaptor.cpp @@ -5,7 +5,8 @@ // please include "napi/native_api.h". #include "CalculateAdaptor.h" -#include "library.h" +#include "Calculate.h" +#include "CalculateInfo.h" CalculateAdaptor::CalculateAdaptor() { _calculate = &Calculate::getInstance(); diff --git a/native_lib/src/main/cpp/CalculateAdaptor.h b/native_lib/src/main/cpp/CalculateAdaptor.h index c631727..3b90f01 100644 --- a/native_lib/src/main/cpp/CalculateAdaptor.h +++ b/native_lib/src/main/cpp/CalculateAdaptor.h @@ -7,7 +7,8 @@ #ifndef HM4DEMO_CALCULATOR_H #define HM4DEMO_CALCULATOR_H -#include "library.h" +#include "CalculateInfo.h" +#include "Calculate.h" #include "js_native_api.h" class CalculateAdaptor { diff --git a/native_lib/src/main/cpp/CalculateInfo.h b/native_lib/src/main/cpp/CalculateInfo.h new file mode 100644 index 0000000..ae6a296 --- /dev/null +++ b/native_lib/src/main/cpp/CalculateInfo.h @@ -0,0 +1,17 @@ +// +// Created on 2024/5/28. +// +// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found, +// please include "napi/native_api.h". + +#ifndef HM4DEMO_CALCULATEINFO_H +#define HM4DEMO_CALCULATEINFO_H + +#include +struct CalculateInfo { + std::string name; + std::string versionName; + int versionCode; +}; + +#endif //HM4DEMO_CALCULATEINFO_H diff --git a/native_lib/src/main/ets/CalculateDefine.ets b/native_lib/src/main/ets/CalculateInfo.ets similarity index 100% rename from native_lib/src/main/ets/CalculateDefine.ets rename to native_lib/src/main/ets/CalculateInfo.ets diff --git a/native_lib/src/main/ets/Calculator.ets b/native_lib/src/main/ets/Calculator.ets index b9970f5..0685efa 100644 --- a/native_lib/src/main/ets/Calculator.ets +++ b/native_lib/src/main/ets/Calculator.ets @@ -1,5 +1,5 @@ import { CalculateAdapter } from 'native_lib.so' -import { CalculateInfo } from './CalculateDefine' +import { CalculateInfo } from './CalculateInfo' export class Calculator {