我正在为ndk编译应用程序,我收到错误"未定义引用`__errno_location'"。
错误来自一行
sprintf( buff, "%s TIOCMGET failed: %s\n", buff, strerror(errno) );
如果我对此行发表评论,那么链接器就不会抱怨它,否则就会抱怨。
我正在尝试使用Sourcery G ++ Lite的arm-none-linux-gnueabi-gcc工具链为Android构建我自己的可执行文件。
答案 0 :(得分:6)
根据我的收集,您的编译器引用了一个符号__errno_location
,这个符号在链接器正在查看的任何库中都找不到。
这表明:
如果标题与库不匹配,则符号名称可能错误,因此您可能会收到此类链接错误。
看起来您正在包含编译器的LibC标头,然后链接到可能并不总是有用的android库。