这是一个奇怪的设置。我用GCC 4.7编译了一个自定义NDK(用于Debian armhf chroot主机)。在测试中,它完美地在Android上编译和运行常规的c和c ++二进制文件。尝试使用C ++编译测试共享库时使用:
arm-linux-androideabi-g++ -fPIC -shared test.cpp -lstdc++ -o test.so
我收到很多链接器错误,_staticinitialization_destruction
和_dso_handle
未被引用。
我在libstdc++.a
目录下的lib文件夹中提供了libstdc++.so
和arm-linux-androideabi
。到底是怎么回事? Android C ++独立编译几乎没有任何信息。
修改的 似乎__dso_handle未定义为GNU STL的iostream部分。我从2005年的Linux帖子中找到了答案。 2012年仍然存在一个问题:O lol。