29 lines
1.3 KiB
CMake
29 lines
1.3 KiB
CMake
cmake_minimum_required(VERSION 3.18.1)
|
||
project(app CXX)
|
||
|
||
# ========== 关键修正1:源码路径(CMAKE_CURRENT_SOURCE_DIR 就是 src/main/cpp,无需重复加路径) ==========
|
||
add_library(
|
||
app
|
||
SHARED
|
||
# 直接写文件名即可,否则会找 src/main/cpp/src/main/cpp/xxx.cpp(路径重复)
|
||
${CMAKE_CURRENT_SOURCE_DIR}/src/main/cpp/opus_recorder.cpp
|
||
${CMAKE_CURRENT_SOURCE_DIR}/src/main/cpp/opus_decoder.cpp
|
||
)
|
||
|
||
# ========== 关键修正2:正确导入本地 jniLibs 下的 libopus.so ==========
|
||
# 1. 声明 opus 为「导入库」(SHARED 对应 .so 动态库)
|
||
add_library(opus SHARED IMPORTED)
|
||
# 2. 指定 libopus.so 的绝对路径(适配不同架构:arm64-v8a/armeabi-v7a 等)
|
||
set_target_properties(opus PROPERTIES
|
||
IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libopus.so
|
||
# 可选:如果需要头文件,添加这行(头文件放 src/main/cpp/include/opus/ 下)
|
||
# INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/include
|
||
)
|
||
|
||
# ========== 关键修正3:链接导入的 opus 库(直接写库名,不用 opus:: 前缀) ==========
|
||
target_link_libraries(
|
||
app
|
||
PRIVATE
|
||
opus # 链接上面声明的本地 libopus.so
|
||
log # Android 日志库
|
||
) |