Java 如何导入和编辑C++;使用ndk在eclipse中编写代码?

Java 如何导入和编辑C++;使用ndk在eclipse中编写代码?,java,c++,eclipse,android-ndk,cocos2d-x,Java,C++,Eclipse,Android Ndk,Cocos2d X,情景: 我已经运行了一个C++ C++ COCOS2D X代码,在Android模拟器上使用Eclipse和NDK(CDT和SiguoAH安装)(在Eclipse外编辑的C++代码)。但是,不能在运行时编辑C++代码或调试。 如果打开C++(main .cp)文件,项目会受到错误的污染。 Me.cpp是一个文件,里面有java和C++代码。并且已经包含在我的项目中。 (关闭项目,然后重新打开它可以暂时解决错误) 问题是: < P> 1)如何在工作的Android项目中打开现有的C++文件? 如何

情景: 我已经运行了一个C++ C++ COCOS2D X代码,在Android模拟器上使用Eclipse和NDK(CDT和SiguoAH安装)(在Eclipse外编辑的C++代码)。但是,不能在运行时编辑C++代码或调试。 如果打开C++(main .cp)文件,项目会受到错误的污染。 Me.cpp是一个文件,里面有java和C++代码。并且已经包含在我的项目中。 (关闭项目,然后重新打开它可以暂时解决错误)

问题是:

< P> 1)如何在工作的Android项目中打开现有的C++文件?

如何告诉Eclipse,它是C++和java的混合代码/项目。而不是一个错误


谢谢。

< P>为了告诉Eclipse是一个混合项目,而在C++的视角下,转到NeX->转换为C/C++项目。这是一个用词不当的项目

为了让它找到包含的文件,请转到项目首选项->C++泛型->路径和符号。您可以在那里(单独)添加C/C++的包含文件夹。您需要的文件夹是

{Android NDK install dir}/sources/cxx stl/{您正在使用的stl,如果您正在使用它的话}/include

{Android NDK install dir}/platforms/Android[yourAPIlevel]/arch arm/usr/include/Android

顺便说一句,我遵循了一些有关此过程的教程,他们还建议使用C/C++构建,并执行以下操作:

  • 取消选中“使用默认生成命令”
  • 将build命令更改为ndk build(我们将回到这里)
  • 从“构建(增量构建)”旁边的文本字段中删除“全部”
  • 取消选中“清除”

这样,您也可以从eclipse构建。这是非常好的,因为这样你可以简单地按下“run”,它将编译C++代码,把.dll(或.so)放在正确的地方,安装和运行。不过有一点细节。我认为这是android ndk的较新版本,您必须在android ndk安装根目录下说
make APP=yourappname
。因此,eclipse中的ndk构建不起作用。为了在正确的位置触发make,您只需在eclipse中使用
make-C PATHTOYOURNDKINSTALLATION APP=yourappname
作为构建命令。

大多数解决方案都是由enobayram提供的,但是在eclipse中编程时,我无法获得@25061987的注释等内容帮助

我认为这不是获得援助的好办法,尽管效果很好

  • 转到项目首选项->C++泛型->路径和符号->源位置
  • 选择链接文件夹
  • 链接到文件系统中的文件夹
  • 添加“您的cocos2dx_根目录”的“cocos2dx,cocosdenshion”文件夹
  • 还是这样试试
    他抄袭了所有的资料来源…

    嗨,谢谢你的回复。我已经做了,但是。它仍然有错误你选择了转换正确的项目,对吗?如果它仍然这样说,请在C/C++general下检查索引器设置。顺便说一句,在我的回答中我说了{Android NDK install dir},但是你应该替换它,这不是eclipse的特殊语法。最后,如果您在windows上,您可能需要更改斜杠的方向。最后,尽量不要在C/C++文件路径中留有空间。@enobayram:在eclipse中编程时,您是否获得代码帮助?i、 例如,假设您想键入cocos2d::CCSprite*\u ship;。在编写coc并按下Ctrl+Space后,您是否获得代码帮助?我没有这个功能,我以前用Java编程时就有这个功能。有什么问题吗?我已经使用了以上所有步骤。@25061987是的,我明白了。当您在Eclipse中使用常规C++(CDT)项目时,如果您的安装没有问题,则可以获得代码辅助。这是因为eclipse知道您使用的库和头文件。然而,在NDK中,构建是在外部处理的,因此您需要告诉eclipse要索引哪些头文件。在project preferences->C++Generel->Paths and Symbols中,尝试告诉eclipse在哪里可以找到库的头文件(本例中是Cocos2d)。你应该得到内容帮助。好luck@enobayram我已经遵循了所有的步骤来制作一个组合的java和C++项目。在C++构建中,我提供了BASH ${WorkStueLeLoC/:MyTestPosi}/BuffdIn ntuv.Bug的构建命令。SH NDKYDebug=1 V=1。在路径和符号中,我在包含部分下添加了包含。我还将我的类文件夹的路径包含在“源位置”部分下。我在谷歌上搜索了很多关于这个问题的信息,因为如果内容助理不努力学习组合编程的话,你知道我们按Ctrl+Space得到的帮助都丢失了,它也不会自动检查错误。