Aspell won't build on OS X 10.9 (Mavericks)

2019-07-16 14:59发布

It fails thus:

./common/errors.hpp:17:36: error: redefinition of 'aerror_other' with a different type: 'const acommon::ErrorInfo *const' vs 'const struct AspellErrorInfo *const'

I've seen this error mentioned several times, but I've not seen any fixes.

I suppose I could install Fink or MacPorts, but my experience with both of those has been mixed (and frustrating), and it seems like overkill for just one program. Is there a way to get aspell to build, or is Fink or MacPorts the only practical option? Which will cause fewer problems, Fink or MacPorts?

2条回答
Ridiculous、
2楼-- · 2019-07-16 15:31

The definition of those externs is not for C++ - surround the entire block with these preprocessor tags in interfaces/cc/aspell.h:

#ifndef __cplusplus
extern const struct AspellErrorInfo * const aerror_other;
...snip...
extern const struct AspellErrorInfo * const aerror_invalid_expression;
#endif
查看更多
Melony?
3楼-- · 2019-07-16 15:34

The answer by @lotsoffreetime works but needs some clarification.

Basically, you have to edit the interfaces/cc/aspell.h file by adding

#ifndef __cplusplus

before the list of "extern" errors, which starts with:

extern const struct AspellErrorInfo * const aerror_other;

and add

#endif

at the end of the list, after it reads

extern const struct AspellErrorInfo * const aerror_invalid_expression;

查看更多
登录 后发表回答