在 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/