因此失败了:
./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?
答案 0 :(得分:4)
这些externs的定义不适用于C ++ - 在interfaces/cc/aspell.h
中使用这些预处理器标记包围整个块:
#ifndef __cplusplus
extern const struct AspellErrorInfo * const aerror_other;
...snip...
extern const struct AspellErrorInfo * const aerror_invalid_expression;
#endif
答案 1 :(得分:1)
@lotsoffreetime的答案有效但需要澄清。
基本上,您必须通过添加
来编辑interfaces/cc/aspell.h
文件
#ifndef __cplusplus
在“extern”错误列表之前,以:
开头extern const struct AspellErrorInfo * const aerror_other;
并添加
#endif
在列表末尾,在读取之后
extern const struct AspellErrorInfo * const aerror_invalid_expression;