After I managed to get Hunspell working with a Win32 console application、Hunspellを同じソリューションのMFCアプリケーションで使用したいと思います。 MFCアプリケーションをコンパイルしようとすると、次のエラーが発生します。C++ - 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/sourceファイルを使用し、にはエラーなしがあります。
- コンソールアプリケーションは、フォルダ
HunSpell-Src
とHunSpell-Dic
は、プロジェクトフォルダではなく、ソリューションフォルダspellcheck
に位置し、適切に参照されていないthis thread - に応じて設定されています。
私は次のようにMFCアプリケーションのセットアップを持っている:
- は
MFC2
と呼ばれるソリューションにプロジェクトとして新しいMFCアプリケーション(SDI)を追加しました。 libhunspell
からMFC2
への参照をプロジェクトに追加しました。Mainfrm.cpp
に#include MainFrm.h
下..\hunspell-src\win_api\Debug_dll\libhunspell;%(AdditionalLibraryDirectories)
(コンソールアプリケーションと同じ)- 追加さ
#include "../HunSpell-Src/win_api/hunspelldll.h"
: Project > Properties > Configuration Properties > Linker > General > Additional Library Directories
に設定されている(コンソールアプリケーションと同じ)..\hunspell-src\hunspell;%(AdditionalIncludeDirectories)
:Project > Properties > Configuration Properties > C++ > General > Additional Include Directories
がに設定されています。
私はMainfrm.cpp
にhunspelldd.h
のの#includeを入れて、ダイアログを設定し、可能な限り短く、この質問を保つためにそれを呼び出す省略することにしました。それにもかかわらず、上記のようなエラーメッセージを生成するようなプロジェクトをセットアップしました。
コンソールアプリケーションが正常にコンパイルされるため、私はMFC固有の問題が原因であると想定しています。
ありがとうございました。
これはコンパイルされますが、いくつかの警告があります。ありがとう。 –
私のために働いた。 @Igor:それがなぜ必要なのかを説明するのに気をつけますか? – Jacob
WinAPI minwindef.hに "#define near"があり、その範囲に表示されます。このため、プリプロセッサはエラーを生成します。 – Igor