Android/NDK 项目,使用 NDK 版本一直到 r8c。在 8d 和 8e 下,我在 armeabi-v7a 构建中收到一条编译错误消息:
Compile++ thumb : myproject <= MyFile.cpp
C:\cygwin\tmp\ccFXOc2F.s: Assembler messages:
C:\cygwin\tmp\ccFXOc2F.s:1935: Error: can't resolve `.data.rel.ro.local' {.data.rel.ro.local section} - `.LPIC44' {*UND* section}
同一项目的 armeabi、MIPS 和 x86 构建是成功的。
它可靠地弹出同一个文件。该文件没有什么特别之处 - vanilla C++,它可以在许多其他平台(iOS、Windows、NDK r8c 等)上编译和工作。没有 STL。不过,它确实定义了大量的字符串常量(AKA 初始化的只读数据)。会发生什么?
已经尝试过完全重建,甚至obj
完全删除了该文件夹。
C++ 标志是:
LOCAL_CPPFLAGS := -fshort-wchar -fsigned-char -Wno-psabi
我知道 NDK 带有多个版本的 GCC;工具链更改可能有帮助吗?具体如何?