无法构建opengl es 2.0 c++原生android项目.(致命错误:android/sensor.h:没有这样

Cannot build an opengl es 2.0 c++ native android project. (fatal error: android/sensor.h: No such file or directory)

本文关键字:android 致命错误 sensor 项目 opengl 构建 es 原生 c++      更新时间:2023-10-16

我试图构建一本书的样本。(http://www.apress.com/9781430258308,完整的源代码可以从那里下载。我试图构建第一个代码。)我下载并安装了最新的android sdk、adt和eclipse。我在Eclipse中安装了Sequoyah。我使用android NDK r8c而不是最新的NDK,因为当我试图在Eclipse中设置NDK路径时,我收到了一个"NDK的无效路径"错误。(首选项/Android/本地开发/NDK位置)

我使用MiniGW作为c++编译器。(我用过这个指南(http://riccardotramma.com/2011/04/setup-eclipse-to-develop-opengl-glut-apps-in-java-cc-on-windows-mac/)在Eclipse中设置MiniGW。只是MiniGW部分。)我使用MiniGW而不是Cygwin,因为在构建过程的某个时刻,我总是会遇到"意外的文件结尾"错误。

我还在Properties/C/C++General/Paths and Symbols的项目中添加了一些include路径和库(java和opengles)。如果我不这样做,我会得到一个"致命错误:jni.h:没有这样的文件或目录"错误,并且我会得到更多的.h声明的错误。(egl.h等)

现在我只得到了"致命错误:android/sensor.h:没有这样的文件或目录"错误(这是第一个android.h声明,可能我会在代码的后面得到所有android特定.h文件的更多错误。

我注意到一件事。在Outline窗口中,$(调用导入模块,android/native_app_glue)行附近有一个红色的x。其他一切似乎都很好。

如果你能成功地构建上面的例子(你可以免费下载),请告诉我你的确切配置,或者指导我如何构建我的第一个原生opengl代码。(sdk、ndk版本等)

提前感谢

Steve

以下是一些快速要点:

你不能使用MinGW作为C++编译器来处理Android NDK项目。Android NDK有自己的特定编译器/工具链。如果您在Eclipse中右键单击您的项目,然后转到C/C++构建>工具链编辑器。当前的工具链应该是Android GCC。

如果您遇到意外的文件结尾错误,可能是某些代码具有unix/linux风格的行结尾吗?这里有一个例子(使用文本编辑器来确保所有的结束行都是Windows/DOS格式的解决方案)-http://connect.microsoft.com/VisualStudio/feedback/details/794991/c-error-directive-and-unix-line-endings-leads-to-an-unexpected-end-of-file

您需要一个与Android.mk位于同一目录中的Application.mk文件。

这个Application.mk文件应该包含一个类似于APP_PLATFORM: = android-9的字符串。

相关文章: