Aspell 不会在 OS X 10.9 (Mavericks) 上构建
Posted
技术标签:
【中文标题】Aspell 不会在 OS X 10.9 (Mavericks) 上构建【英文标题】:Aspell won't build on OS X 10.9 (Mavericks) 【发布时间】:2014-08-20 02:06:03 【问题描述】:因此失败了:
./common/errors.hpp:17:36: error: redefinition of 'aerror_other' with a different type: 'const acommon::ErrorInfo *const' vs 'const struct AspellErrorInfo *const'
我已经多次看到此错误,但我没有看到任何修复。
我想我可以安装 Fink 或 MacPorts,但是我对这两种程序的体验好坏参半(而且令人沮丧),而且对于一个程序来说似乎有点矫枉过正。有没有办法让 aspell 构建,还是 Fink 或 MacPorts 是唯一实用的选择? Fink 和 MacPorts 哪个会导致更少的问题?
【问题讨论】:
【参考方案1】:这些外部变量的定义不适用于 C++ - 用interfaces/cc/aspell.h
中的这些预处理器标记包围整个块:
#ifndef __cplusplus
extern const struct AspellErrorInfo * const aerror_other;
...snip...
extern const struct AspellErrorInfo * const aerror_invalid_expression;
#endif
【讨论】:
【参考方案2】:@lotsoffreetime 的答案有效,但需要澄清。
基本上,您必须通过添加来编辑interfaces/cc/aspell.h
文件
#ifndef __cplusplus
在“extern”错误列表之前,以:
extern const struct AspellErrorInfo * const aerror_other;
并添加
#endif
在列表的末尾,在它读取之后
extern const struct AspellErrorInfo * const aerror_invalid_expression;
【讨论】:
以上是关于Aspell 不会在 OS X 10.9 (Mavericks) 上构建的主要内容,如果未能解决你的问题,请参考以下文章
NSControl isEnabled 仅在 OS X v10.0 到 OS X v10.9 中可用
在 Mac OS X 10.9 中使用 g++ 编译 Rinside