在Windows上编译用于Android的钛移动1.8.1模块时出现C ++错误

时间:2012-02-02 16:21:02

标签: titanium-mobile

我正在尝试为钛移动1.8.1开发一个Android模块。以下是我使用的工具:

  • Titanium studio:1.0.7
  • Titanium mobile sdk:1.8.1
  • Android SDK:r16
  • Android NDK:r7(平台:API 8 + google API)
  • cygwin:1.7.9-1
  • ant:1.8.2
  • gperf:latest

我按照这里的说明操作: https://wiki.appcelerator.org/display/guides/Android+Module+Development+Guide 和这里: https://wiki.appcelerator.org/display/guides/Android+Module+Porting+Guide+for+1.8.0.1 我已根据请求设置了所有PATH和环境变量。 我在命令行工作,使用ant(不使用eclipse)来构建模块。

我正在尝试构建由钛“create”命令创建的模块骨架。 在构建时,我会遇到cpp错误,例如:

jni/<domain>.mymodule.ExampleProxy.h:22: error: expected class-name before '{' token

产生错误的代码行是:

class ExampleProxy : public titanium::Proxy
{

根据我的c ++经验,当未定义父类时会发生这种情况。 但源文件似乎是正确的,包括来自钛sdk的“Proxy.h”文件,它在“钛”命名空间中正确定义了类“Proxy”。

有没有人遇到过同样的问题并找到了解决方案,或者能以某种方式提供有用的提示?

1 个答案:

答案 0 :(得分:2)

检查您的模块是否没有命名空间(com.giorgio.module到gorgiomodule)并避免使用特殊字符。 生成的代码无法处理所有情况。