diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ff5895..16fff01 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -87,6 +87,25 @@ target_include_directories(media-server ) target_link_libraries(media-server PRIVATE project_options Threads::Threads) +if(RK3588_ENABLE_RKNN) + find_library(RK_RKNN_LIB rknnrt + HINTS + ${RKNN_RUNTIME_LIB_DIR} + ${RK_RKNN_ROOT}/runtime/RK3588/Linux/librknn_api/aarch64 + NO_DEFAULT_PATH + ) + if(NOT RK_RKNN_LIB) + find_library(RK_RKNN_LIB rknnrt) + endif() + if(NOT RK_RKNN_LIB) + message(WARNING "RKNN enabled but librknnrt not found; disable RK3588_ENABLE_RKNN or set RKNN_RUNTIME_LIB_DIR") + else() + target_compile_definitions(media-server PRIVATE RK3588_ENABLE_RKNN) + target_include_directories(media-server PRIVATE ${RKNN_RUNTIME_INCLUDE_DIR}) + target_link_libraries(media-server PRIVATE ${RK_RKNN_LIB}) + endif() +endif() + if(WIN32) target_link_libraries(media-server PRIVATE ws2_32) endif() diff --git a/命令.md b/命令.md index 8a4367c..712a2af 100644 --- a/命令.md +++ b/命令.md @@ -14,8 +14,10 @@ -DRK3588_ENABLE_RGA=ON \ -DRK3588_ENABLE_ZLMEDIAKIT=ON \ -DRK3588_ENABLE_RKNN=ON \ - -DRK_ZLMK_API_LIB_PATH=$PWD/third_party/rknpu2/examples/3rdparty/zlmediakit/aarch64/libmk_api.so \ - -DRK_ZLMEDIAKIT_INCLUDE_DIR=$PWD/third_party/rknpu2/examples/3rdparty/zlmediakit/include + -DRKNN_RUNTIME_LIB_DIR=/path/to/librknnrt.so/dir \ + -DRKNN_RUNTIME_INCLUDE_DIR=/path/to/rknn_api.h/dir \ + -DRK_ZLMK_API_LIB_PATH=/path/to/libmk_api.so \ + -DRK_ZLMEDIAKIT_INCLUDE_DIR=/path/to/zlmediakit/include cmake --build build -j$(nproc)