TARGET_ARCH_ABI

$(NDK)/build/core/setup-abi.mk

ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
  RS_TRIPLE := armv7-none-linux-gnueabi
endif
ifeq ($(TARGET_ARCH_ABI),armeabi)
  RS_TRIPLE := arm-none-linux-gnueabi
endif
ifeq ($(TARGET_ARCH_ABI),mips)
  RS_TRIPLE := mipsel-unknown-linux
endif
ifeq ($(TARGET_ARCH_ABI),x86)
  RS_TRIPLE := i686-unknown-linux
endif



cmake_minimum_required(VERSION 3.14) project(SmartEQ_Android_SO LANGUAGES CXX C) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_C_STANDARD 99) set(CMAKE_SYSTEM_NAME Android) set(CMAKE_SYSTEM_VERSION 31) # 或者您需要的 Android API 级别 set(CMAKE_ANDROID_ARCH_ABI arm64-v8a) # 设置为 arm64-v8a find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core) # 添加头文件路径 include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/FFTW2/HeadFile/fftw ${CMAKE_CURRENT_SOURCE_DIR}/GSL/HeadFile/block ${CMAKE_CURRENT_SOURCE_DIR}/GSL/HeadFile/gsl ${CMAKE_CURRENT_SOURCE_DIR}/GSL/HeadFile/interpolation ${CMAKE_CURRENT_SOURCE_DIR}/GSL/HeadFile/linalg ${CMAKE_CURRENT_SOURCE_DIR}/GSL/HeadFile/view ${CMAKE_CURRENT_SOURCE_DIR}/EigenLib ${CMAKE_CURRENT_SOURCE_DIR}/ ) file(GLOB FFTW2_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/FFTW2/SourceFile/fftw/*.c ${CMAKE_CURRENT_SOURCE_DIR}/*.c ) file(GLOB GSL_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/GSL/SourceFile/interpolation/*.c ${CMAKE_CURRENT_SOURCE_DIR}/GSL/SourceFile/linalg/*.c ${CMAKE_CURRENT_SOURCE_DIR}/GSL/SourceFile/view/*.c ) ## 声明并链接自定义库 libFFTW_GSL_SO.so ## -------------------------------------------- #if(ANDROID) # # Android 平台:动态处理 ABI 和多架构 # set(ANDROID_ABIS arm64-v8a) # foreach(abi ${ANDROID_ABIS}) # if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/FFTWGSL/${abi}/libFFTW_GSL_SO.so) # # 声明 IMPORTED 库目标 # add_library(FFTW_GSL_SO_${abi} SHARED IMPORTED) # set_target_properties(FFTW_GSL_SO_${abi} PROPERTIES # IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/FFTWGSL/${abi}/libFFTW_GSL_SO.so # ) # endif() # endforeach() #else() # # 非 Android 平台(如 Linux) # add_library(FFTW_GSL_SO SHARED IMPORTED) # set_target_properties(FFTW_GSL_SO PROPERTIES # IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/FFTWGSL/arm64-v8a/libFFTW_GSL_SO.so # ) #endif() add_library(SmartEQ_Android_SO SHARED smarteq_android_so.cpp smarteq_android_so.h ${FFTW2_SOURCES} ${GSL_SOURCES} fftw_gsl_so.h fftw_gsl_so.cpp ) target_include_directories(SmartEQ_Android_SO PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/FFTW2/HeadFile/fftw ${CMAKE_CURRENT_SOURCE_DIR}/GSL/HeadFile/block ${CMAKE_CURRENT_SOURCE_DIR}/GSL/HeadFile/gsl ${CMAKE_CURRENT_SOURCE_DIR}/GSL/HeadFile/interpolation ${CMAKE_CURRENT_SOURCE_DIR}/GSL/HeadFile/linalg ${CMAKE_CURRENT_SOURCE_DIR}/GSL/HeadFile/view ${CMAKE_CURRENT_SOURCE_DIR}/ ${CMAKE_CURRENT_SOURCE_DIR}/EigenLib # ${CMAKE_CURRENT_SOURCE_DIR}/GSL/SourceFile/interpolation # ${CMAKE_CURRENT_SOURCE_DIR}/GSL/SourceFile/linalg # ${CMAKE_CURRENT_SOURCE_DIR}/GSL/SourceFile/view ) ## 链接依赖库 #target_link_libraries(SmartEQ_Android_SO PRIVATE # Qt${QT_VERSION_MAJOR}::Core # FFTW_GSL_SO_${ANDROID_ABI} # Android 平台按 ABI 链接 #) #target_include_directories(SmartEQ_Android_SO PRIVATE # ${CMAKE_CURRENT_SOURCE_DIR}/FFTWGSL/arm64-v8a #) target_link_libraries(SmartEQ_Android_SO PRIVATE Qt${QT_VERSION_MAJOR}::Core) target_compile_definitions(SmartEQ_Android_SO PRIVATE SMARTEQ_ANDROID_SO_LIBRARY) 为什么会爆以上的错误
04-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值