NDK编译支持Regex的解决方案。
通过NDK编译时,一个Cpp文件用到了Regex,用于处理正则表达式,而Application.mk文件中定义得的依赖静态库是:
1 | APP_STL := stlport_static |
这个库里面并不包含Regex源文件,所以报错:
1 | fatal error: regex: No such file or directory |
解决方法如下:
设置依赖静态库为:
1 | APP_STL := gnustl_static |
依然报错:
1 | This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. |
在Android.mk中,加上编译项:
1 | LOCAL_CFLAGS += -std=c++11 |
编译成功。