3

它因此失败:

./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,哪个会导致更少的问题?

4

2 回答 2

5

这些 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
于 2014-08-29T13:09:29.483 回答
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;

于 2016-07-31T18:38:55.210 回答