场景: 我已经使用 eclipse 和 NDK(安装了 CDT 和 Sequoyah)在 android 模拟器上运行并编译了 cocos2d-x 的现有 c++ 代码(在 eclipse 外部编辑的 c++ 代码)。但是,无法在运行时编辑 C++ 代码或进行调试。
如果我打开一个 c++ (main.cpp) 文件,该项目就会被错误污染。 main.cpp 是一个包含 java 和 c++ 代码的文件。并且已经包含在我的项目中。 (关闭项目再重新打开暂时解决错误)
问题是:
1) 如何在工作的 android 项目中打开现有的 c++ 文件?
2) 如何告诉 eclipse 它是 c++ 和 java 的混合代码/项目。而不是错误
谢谢。
最佳答案
为了告诉 eclipse 它是一个混合项目,而在 C++ 的角度来看,转到 new->Convert to C/C++ project。这是一个用词不当的词,它使它成为一个混合项目。
为了让它找到包含的文件,请转到项目首选项->C++ 通用->路径和符号。您可以在那里添加 C/C++ 的包含文件夹(单独)。您需要的文件夹是
{Android NDK 安装目录}/sources/cxx-STL/{如果你正在使用它,你正在使用的 STL}/include
和
{Android NDK 安装目录}/platforms/Android[yourAPIlevel]/arch-arm/usr/include/android
。
顺便说一句。我遵循了这个过程的一些教程,他们还建议转到 C/C++ 构建,并执行以下操作:
- 取消选中“使用默认构建命令”
- 将构建命令更改为 ndk-build(我们稍后再讨论)
- 从“Build(增量构建)”旁边的文本字段中删除“all”
- 取消勾选清洁
这样,您也可以从 eclipse 构建。这真的很好,因为这样你也可以简单地按“运行”,它会编译 C++ 代码,将 .dll(或 .so)放在正确的位置,安装并运行。不过有一个小细节。我认为这是新版本的 android-ndk,你必须在 android-ndk 安装根目录下说 make APP=yourappname
。因此,eclipse 中的 ndk-build 不起作用。为了在正确的地方触发 make,您可以简单地使用 make -C PATHTOYOURNDKINSTALLATION APP=yourappname
作为 eclipse 中的构建命令。
关于java - 如何使用ndk在eclipse中导入和编辑C++代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9822868/