我正在使用getline函数并使用ndk进行编译,但我收到错误:
'getline' was not declared in this scope
是由于armeabi-v7a的限制还是由于glib而导致的错误?如何解决相同的功能。
I have already #define _GNU_SOURCE before <stdio.h>
答案 0 :(得分:0)
通常,当您遇到此类错误时,您将转到NDK目录并使用Midnight Commander(Linux)或Far Manager(Windows,Linux + Wine)来搜索文件(文件掩码:*.h
)对于你的函数,在这种情况下getline
。您将获得一系列搜索结果,并且您可以 #include 找到正确的文件。
偶尔会找不到你的功能;在这种情况下,您可以在网上搜索可以借用来源的地方。
有时,被移植的代码中的函数没有任何意义,例如如果函数从stdin
读取一行但是要调用它的程序不是命令行实用程序,则会出现问题。
很可能,你为Linux,Mac(Darwin)和Windows移植了 #define -s的源代码,你必须选择正确的配置来从中获取Android配置(可能是Mac one将是最好的。