来自Eclipse的错误错误:函数'__android_log_print'无法parsing(Android,CDT)

我有一个Android NDK项目,其NDK部分从命令行编译好; 我曾经没有问题,从Eclipse下运行编译的东西作为一个纯粹的Java项目。 但是我把它转换成一个C / C ++项目,现在甚至不能运行它。

我在“控制台”中看到该库已经build好,但是:Eclipse告诉我,我的项目有错误,并且不会运行它。 (为什么在地球上?代码编译!!!)

通过向项目属性添加包含path,我解决了一些丢失符号的问题。

但我仍然得到这个奇怪的Function '__android_log_print' could not be resolved错误。

所以,有两个问题:

  1. 我如何摆脱这个错误? (可以忽略吗?)
  2. 计划B:如何将这个混合的C / C ++ / Java项目转换为纯Java的项目?

= = =

PS“当你打电话给船,所以它会这样做”。 难道他们不能find一个更好的IDE名称,像“清醒的编码”? (修辞问题)

= = =

更新:它看起来像Eclipse只报告它看到的文件的错误(即显示你)。 我用LOGDmacros打开了另一个文件,Eclipse也报告了错误。 我已经closures了所有文件窗口,closures了Eclipse 删除了一些.something文件。 之后,我能够运行该应用程序。 我没有冒险用这个日志macros打开源文件。 (这与“Lucid编码”非常相近,不是吗?)

Solutions Collecting From Web of "来自Eclipse的错误错误:函数'__android_log_print'无法parsing(Android,CDT)"

CDT索引器的configuration需要启用“索引未使用的标题…”

如何到达那里:Project-> Properties-> C / C ++ General-> Indexer。

在这里输入图像说明

为我摆脱了错误。

如何忽略:打开“问题”窗口,在c / c ++文件中select错误,然后按Del键。 一个确认消息框将会显示出来,但之后你可以debugging你的应用程序…直到下一次重build=)或者,如前所述,你可以closures所有打开的c / c ++文件。

在你的Android.mk文件中,请添加

 LOCAL_LDLIBS := -llog -landroid 

__android_log_print不是libc的一部分,它在日志库中,所以你需要明确地声明它是链接的。

注意,如果在C或者java端有错误,eclipse将拒绝运行这个项目。 在这种情况下,存在链接器错误; 代码没有成功完成编译,所以它不会运行它。

或者,您可以重新键入这些string并重新启动Eclipse; 所有这些修复听起来跛脚虽然…