【问题标题】:Eclipse Blackberry Preprocessor Not Working?Eclipse 黑莓预处理器不工作?
【发布时间】:2010-02-25 18:35:49
【问题描述】:

我已经按照@Using preprocessor directives in BlackBerry JDE plugin for eclipse? 的指示确保黑莓插件预处理钩子(理论上)已启用。

我正在使用带有 BB SDK 4.7.0 和 4.6.0 的 Eclipse 3.5.1 和 Blackberry Plugin 1.1。

我有我的预处理器定义集(我已经在项目的 Blackberry Properties 以及 Workspace Blackberry Build 设置中进行了尝试),并仔细检查了它们的大小写和拼写。

我相当有信心说“这些东西应该被预处理”的实际代码是好的,因为在命令行构建中包含/排除预处理代码似乎可以正常工作:

//#preprocess --- 在文件开头

然后整个代码块都是这样的:

//#ifndef jde_4_7
  /*
//#endif   
//#ifdef jde_4_7
import net.rim.device.api.ui.TouchEvent;
//#endif
//#ifndef jde_4_7
  */
//#endif   

所以我不知道还有什么问题会导致 Eclipse 无法在我的预处理代码中编译,除非我删除了应该阻止触摸代码构建到黑莓构建中的 cmets不支持触摸。

它曾经工作过(不,我没有更新 Eclipse),但在过去几周的某个时候,它似乎停止工作了。而且我有点厌倦了搜索 ifdefs 和手动注释/取消注释触摸代码以及寻找更好的解决方案的容易出错的过程,同时我进行测试和初始开发需要同时测试触摸和非触摸功能。

关于可能出现的问题或如何解决问题的任何其他想法?

【问题讨论】:

  • 我昨天发现了 Eclipse 的错误日志,启动时有两个错误看起来可能相关......也许这有助于识别问题或如何解决它? [1] 找不到扩展:net.rim.eide.preprocessing.hook [2] 找不到捆绑 net.rim.eide.preprocessing.hook。

标签: eclipse blackberry eclipse-plugin blackberry-eclipse-plugin


【解决方案1】:

我设法通过在 eclipse ini 文件中添加它来实现这个工作

osgi.framework.extensions=net.rim.ejde.preprocessing.hook

您可能已经拥有 osgi.framework.extensions。只需添加 net.rim.ejde.preprocessing.hook 即可。

【讨论】:

  • 抱歉,如果我在最初的问题中不够清楚,当我最初问这个问题时,特别是因为我链接到的堆栈溢出问题中的解决方案(正如你所说的那样)是'不足以恢复预处理器。
  • 不适用于 Eclipse Indigo 1.5.2。插入。顺便说一句,在 BlackBerry 文档中,他们建议使用 osgi.framework.extensions=net.rim.ejde。但是,这也不再有效。基本上,BB 开发是一团糟。
【解决方案2】:

是的,我也有过同样的经历。似乎他们的新插件已经放弃了对它的支持。有时感觉这些家伙什么都做不好。如果您想进行预处理,恐怕您将不得不使用 Eclipse 3.4 和旧插件(1.0.67)。你可以去here 并获取一个捆绑的 eclipse 3.4 与上述插件和你可能需要的任何其他组件包。

【讨论】:

  • 有趣的是,一周前使用带有最新版本的 Eclipse 和插件的预处理器运行良好......这让我怀疑意外的配置或代码更改导致它无法工作与尝试做一些不可能或已知错误的事情。在冗长的 1.1 JDE 插件的已知问题列表 (docs.blackberry.com/en/developers/deliverables/11984/…) 中,我找不到与我所面临的具体问题相关的任何内容。
  • 好吧,如果你确实设法让它(再次)与 eclipse 3.5 和 1.1 插件一起工作,请发布答案,因为这是我仍在使用旧环境的唯一原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多