从三星安卓源码包提取部分源码来做开发,结果发现有一部分汇编文件,编译的时候老是出错,提示
csc_tiled_to_linear_deinterleave_crop_neon.s:712: Error: selected processor does not support `vld2.8 {q0},[r11]!'
csc_tiled_to_linear_deinterleave_crop_neon.s:716: Error: selected processor does not support `vst1.8 {d0},[r12]!'
csc_tiled_to_linear_deinterleave_crop_neon.s:718: Error: selected processor does not support `vst1.8 {d1},[r12]!'
查了下三星4412的资料需要加上 -mcpu 和 -march等,结果多次尝试都没有成功,后来google了一下,
http://community.arm.com/groups/tools/blog/2013/04/15/arm-cortex-a-processors-and-gcc-command-lines
尝试加上根据cpu型号加上了 -mfpu=neon-fp16,编译通过
arm-none-linux-guneabi-gcc
arm-none-linux-gnueabi-gcc -mcpu=cortex-a9 -march=armv7-a -mfpu=neon-fp16 hello.s -o hello.o
然后可以配置QT支持汇编文件,直接添加汇编文件qt会识别为other files,在pro里面删除“#OTHER_FILES += ”把汇编添加到SOURCES
然后在pro添加编译宏,这里需要根据具体CPU型号添加
QMAKE_CFLAGS += -mcpu=cortex-a9 -march=armv7-a -mfpu=neon-fp16
QMAKE_CXXFLAGS += -mcpu=cortex-a9 -march=armv7-a -mfpu=neon-fp16
这样就可以直接在qt编译汇编了