zhllxt/asio2

Android下编译错误

FuChengYiXiao opened this issue · 3 comments

使用Android Studio集成JNI工程时,beast/core/detail/config.hpp:36 检测到__GNUC__版本过低,这个有解决办法吗?NDK版本 21.4.7075529

最新的master分支的代码已修复这个编译错误。

你好,这个问题是clang编译器导致的,Mac和iOS平台可能绕过Android的宏定义检查。在StackOverflow找到了一篇讨论,此外,asio中单独处理了__clang__这个宏。
https://stackoverflow.com/questions/38499462/how-to-tell-clang-to-stop-pretending-to-be-other-compilers

已修复
直接将boost库的宏检测移植过来了(现在仍然是header only的,不依赖boost库,做了移植改造),以后不再自己处理这些琐碎且难以找环境测试的问题了。