【发布时间】:2012-03-16 10:47:53
【问题描述】:
After I managed to get Hunspell working with a Win32 console application,我想在同一解决方案中的 MFC 应用程序中使用 Hunspell。 尝试编译 MFC 应用程序时出现以下错误。
spellcheck\hunspell-src\hunspell\replist.hxx(23): error C2062: type 'const char' unexpected
spellcheck\hunspell-src\hunspell\replist.hxx(23): error C2238: unexpected token(s) preceding ';'
关于解决方案的一些信息:
- 解决方案称为拼写检查。
- Hunspell 源文件位于
spellcheck\hunspell-src\hunspell和spellcheck\hunspell-src\win_api。 - 项目
libhunspell已被导入并编译没有错误。 - 解决方案中的控制台应用程序使用相同的 hunspell dll/源文件并且没有错误。
- 已根据this thread 设置控制台应用程序
- 文件夹
HunSpell-Src和HunSpell-Dic不在项目文件夹中,而是在解决方案文件夹spellcheck中并正确引用。
我已将 MFC 应用程序设置如下:
- 将新的 MFC 应用程序 (SDI) 作为项目添加到名为
MFC2的解决方案中。 - 将项目
libhunspell的引用添加到MFC2。 -
Project > Properties > Configuration Properties > C++ > General > Additional Include Directories已设置为:..\hunspell-src\hunspell;%(AdditionalIncludeDirectories)(与控制台应用相同) -
Project > Properties > Configuration Properties > Linker > General > Additional Library Directories已设置为:..\hunspell-src\win_api\Debug_dll\libhunspell;%(AdditionalLibraryDirectories)(与控制台应用相同) - 在
Mainfrm.cpp中添加#include "../HunSpell-Src/win_api/hunspelldll.h"under#include MainFrm.h。
我决定将hunspelldd.h 的#include 放在Mainfrm.cpp 中并省略设置对话框并调用它,以使这个问题尽可能简短。尽管如此,我已经按照描述设置了一个项目,该项目会产生上述错误消息。
因为控制台应用程序编译得很好,我假设某些特定于 MFC 的问题导致了问题。
感谢您的帮助。
【问题讨论】:
标签: c++ visual-studio-2010 mfc hunspell