android - Android 上的链接错误

标签 android c++ linker android-ndk

在 android 上编译 native 代码时遇到问题:

CMakeFiles/test_v_job.dir/test_v_job.cpp.o:test_v_job.cpp:function
boost::detail::signal_handler::~signal_handler(): error: undefined
reference to 'sigaltstack'
CMakeFiles/test_v_job.dir/test_v_job.cpp.o:test_v_job.cpp:function
boost::detail::signal_handler::signal_handler(bool, int, bool, char*):
error: undefined reference to 'sigaltstack'
CMakeFiles/test_v_job.dir/test_v_job.cpp.o:test_v_job.cpp:function
boost::detail::signal_handler::signal_handler(bool, int, bool, char*):
error: undefined reference to 'sigaltstack' collect2: ld returned 1
exit status

signal.h 头文件位于目录:C:\AndroidSDKS\android-ndk-r7-crystax\platforms\android-9\arch-arm\usr\include

必须链接什么?

最佳答案

这个错误可能是android-ndk的旧平台引起的,至少要用android-9或更高版本编译

它与 boost 库无关

例如,如果您使用 ndk-build,您应该将这些行添加到 Application.mk:

APP_ABI := armeabi APP_PLATFORM := android-9

关于android - Android 上的链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12214871/

相关文章:

android - 如何知道 sim 类型 (2G, 3G) 在 android 手机

Libgdx 上的通用补间引擎缺少 Android Studio 'Add as Library'

android - public final fun actionFragmentAToDetailActivity() 的参数太多

c++ - 调用函数指针会导致段错误?

c++ - 还有几个 SWIG 警告

c++ - 链接 boost 内存映射文件

android - 亚行不承认 Nexus 4 - 更多建议

c++ - 为什么 VisualStudio 要查找这个 lib 文件? LNK1104错误

c++ - 如果仍然可以间接执行(通过回调函数),将 C 函数声明为静态函数是不好的做法吗?

c++ - 如何使用 g++ 正确链接到静态库