需要一个简单的Linux C++ IDE(Android NDK)

需要一个简单的Linux C++ IDE(Android NDK),linux,gcc,ide,android-ndk,Linux,Gcc,Ide,Android Ndk,我需要一个IDE,它必须: 允许为运行~/android-ndk-r7/ndk构建脚本 汇编 截取gcc输出并将其显示给我; 单击错误行时,转到错误位置:在所述行打开所述文件。 我有一个大的C++项目,我把它移植到Android /NDK。 代码::块和Eclipse都不做第三项。也许我遗漏了什么?Emacs是您想要的。要在emacs中编译,只需打开一个源文件,然后选择“工具->编译”。您可以将默认的compile命令从gmake-k更改为您想要的任何命令。在您的情况下,特定的构建脚本。编译完成

我需要一个IDE,它必须:

允许为运行~/android-ndk-r7/ndk构建脚本 汇编 截取gcc输出并将其显示给我; 单击错误行时,转到错误位置:在所述行打开所述文件。

我有一个大的C++项目,我把它移植到Android /NDK。


代码::块和Eclipse都不做第三项。也许我遗漏了什么?

Emacs是您想要的。要在emacs中编译,只需打开一个源文件,然后选择“工具->编译”。您可以将默认的compile命令从gmake-k更改为您想要的任何命令。在您的情况下,特定的构建脚本。编译完成后,您可以单击errors,它将打开相应的源文件和行

Emacs是一个完整的IDE,有许多插件可以添加功能。其中最好的是EDE Emacs开发环境。不确定您使用的是哪个发行版,但Emacs肯定是所有发行版中的标准软件包。

看看。社区版免费用于非商业用途,并在Eclipse中提供与NDK的集成

此外,我相信如果你仔细研究一下,你会从各种来源找到关于如何在Elipse中集成NDK的非官方说明。例如,看看其中的一些:


我为Android NDK/JNI开发配置了Code::Blocks,但有一个技巧。 Codeblocks相信它可以知道您使用的编译器,并希望阻止您使用它不知道的东西。你必须欺骗它

创建一个空的代码块项目 手动添加源文件和头文件 在工作区左侧窗格中的项目上单击鼠标右键。您将看到一个菜单:编辑:首先转到属性并指定它为自定义生成文件,然后是生成选项 转到Properties并告诉CB它有一个自定义Makefile。不要告诉它任何关于平台的真相:它会告诉你你没有所需的编译器,甚至不会尝试构建一些东西。 最后,在构建选项中,选择GNU GCC编译器,转到Make命令,然后编写自定义命令。就我个人而言,我创建了一个调用ndk构建的Makefile——我更喜欢将脚本保存在文本文件中,而不是GUI对话框中。您可能要更改的项是-j4 最后一点注意:如果您的配置不起作用,您将无法获得有意义的诊断

PS这是我的Makefile:

all:
    @echo '====all===='
    pwd;~/android-ndk-r7/ndk-build -j 4
clean:
    @echo '====clean===='
    pwd;~/android-ndk-r7/ndk-build clean

.PHONY: clean
.PHONY: all

犯错误Emacs是。。。好有点深奥。有更直观的选择吗?也许,但2^64-1也是。我以前使用过kdevelop。它会做你想做的事。但我更喜欢emacs。如果你想要真正深奥的,试试vim,它也可以满足你的需求。Emacs最有趣的是,从命令行~/android-ndk-r7/ndk build clean all在语法错误时失败,但从Emacs它在链接阶段失败。我必须使用cd/full/path/to/myProject/jni/来修复它。配置键以执行自定义功能很容易,但UI很糟糕,从按钮上缺少图标图像开始,到无法将文本粘贴到搜索对话框结束。在Linux下,它看起来像Linux程序的Windows端口。但它确实让我快速地完成了最重要的重复操作;它起作用了,但Eclipse不是一个编码工具:它检测到的错误,如日志函数not found,这对编译器和链接器来说是没有问题的,并且您必须手动删除错误消息才能运行代码。您指的是哪个日志错误?至于粘性错误,是的,Eclipse就是这样设计的。不过,这是谷歌建议的环境,为非NDK用户提供插件等,也是目前最好的环境;我将Android日志的调用定义为LOGD和DLOG宏,两个名称比记住哪一个更容易,每次我打开C源文件Eclipse都告诉我没有这样的函数,我记不起确切的名称,它很长,但代码编译并运行,函数被调用是因为它可以工作。这是一个误报。这里有一个关于误报和战胜黑暗的链接:第4步中的选项被禁用。第5步应该在第4步之前完成,所以make选项将是可编辑的;我在步骤4中输入的任何内容都会被忽略,并且没有规则的错误会使目标“调试”;我设法使它起作用。这太棒了!!我忘了将静默构建更改为bash-c.~/。巴什尔委员会;你能把工作示例的源代码发布到开源存储库吗?e、 g.github谢谢。我雇主的软件的来源是什么?不,我不能。