Android上的链接错误

时间:2012-08-31 11:55:09

标签: android c++ linker android-ndk

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

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 \包括

什么必须链接?

2 个答案:

答案 0 :(得分:0)

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

它与boost libs无关

例如,如果你使用ndk-build,你可以向Application.mk添加这些行:

APP_ABI:= armeabi APP_PLATFORM:= android-9

答案 1 :(得分:0)

要在ANDROID NDK下构建增强功能,我使用github.com/MysticTreeGames/Boost-for-Android - e.proydakov