.mk文件编译c语言.so文件,android - Android NDK cmake编译程序集(* .s)文件 - SO中文参考 - www.soinside.com...

我正在将Android Studio 2.2.2与cmake和Android NDK结合使用。我有一个库,其中包含我为项目编译的几个.s(汇编器)文件。

直到cmake,当我使用Android.mk文件时,我对该文件进行了编译/链接,而在cmake上没有任何问题,例如:]lib \ arm_android \ armfrag.s:1:2:错误:语句开始时出现意外令牌@ ***************************************************** *******************^libs \ arm_android \ armfrag.s:2:2:错误:语句开始时出现意外令牌@ * *^

顶部包含的armfrag文件评论如下:@ *************************************************** *********************@ * *@ *此文件为............................................. ......................................]

我认为我的cmake无法读取此汇编文件,但是注释不是唯一的问题,因为我删除了注释,但仍然出现错误。

我的cmake看起来像这样:cmake_minimum_required(VERSION 3.4.1)

set(CMAKE_VERBOSE_MAKEFILE on)

set(can_use_assembler TRUE)

enable_language(ASM)

add_definitions(-DANDROID -DNDEBUG -DOC_ARM_ASM)

add_library(omnitus STATIC

../../../../libs/lib/arm_android/armbits.s

../../../../libs/lib/arm_android/armfrag.s

../../../../libs/lib/arm_android/armidct.s

../../../../libs/lib/arm_android/armloop.s

../../../../libs/lib/arm/armopts-gnu.s

)

target_include_directories(omnitus PUBLIC

../../../../libs/include

)

target_include_directories(omnitus PUBLIC

../../../../libs/lib/arm

)

target_include_directories(omnitus PUBLIC

../../../../libs/include

)

没有人知道为什么cmake不能使用旧的Android.mk文件吗?

欢呼声

*已添加*

用冗长的代码我会得到同样的错误,但除此之外:Android clang version 3.8.256229 (based on LLVM 3.8.256229)

Target: x86_64-unknown-linux

Thread model: posix

InstalledDir: C:\Android\sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin

clang.exe: warning: argument unused during compilation: '-D ANDROID'

clang.exe: warning: argument unused during compilation: '-D ARM'

clang.exe: warning: argument unused during compilation: '-D NDEBUG'

clang.exe: warning: argument unused during compilation: '-D OC_ARM_ASM'

clang.exe: warning: argument unused during compilation: '-MD'

clang.exe: warning: argument unused during compilation: '-MT CMakeFiles/omnitus.dir/lib/arm/armopts-gnu.s.o'

clang.exe: warning: argument unused during compilation: '-MF CMakeFiles\omnitus.dir\lib\arm\armopts-gnu.s.o.d'

*添加了修改的cmake文件*cmake_minimum_required(VERSION 3.4.1)

set(CMAKE_VERBOSE_MAKEFILE on)

set(can_use_assembler TRUE)

enable_language(ASM)

add_definitions(-v -DANDROID -DNDEBUG -DOC_ARM_ASM)

if(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7-a)

set(TEST_SOURCES ../../../../libs/lib/arm_android/armbits.s

../../../../libs/arm_android/armfrag.s

../../../../libs/arm_android/armidct.s

../../../../libs/arm_android/armloop.s

../../../../libs/lib/arm/armopts-gnu.s

)

endif()

add_library(omnitus STATIC ${TEST_SOURCES}

)

target_include_directories(omnitus PUBLIC

../../../../libs/include

)

target_include_directories(omnitus PUBLIC

../../../../libs/arm

)

target_include_directories(omnitus PUBLIC

../../../../libs/include

)

我正在将Android Studio 2.2.2与cmake和Android NDK结合使用。我有一个库,其中包含我为项目编译的几个.s(汇编器)文件。直到cmake,当我使用Android.mk文件时...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值