HunspellをWin32コンソールアプリケーションで動作させることができた後、同じソリューションの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 / sourceファイルを使用し、エラーはありません。
- コンソールアプリケーションは、このスレッドに従ってセットアップされています
- フォルダ
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)
コンソールアプリケーションと同じ)- に追加
#include "../HunSpell-Src/win_api/hunspelldll.h"
され#include MainFrm.h
ましたMainfrm.cpp
。
この質問をできるだけ短くするために、#includeを入れてhunspelldd.h
、Mainfrm.cpp
ダイアログの設定と呼び出しを省略することにしました。それにもかかわらず、前述のエラーメッセージを生成するプロジェクトを説明どおりにセットアップしました。
コンソールアプリケーションは正常にコンパイルされるため、MFC固有のものが問題の原因であると思います。
ご協力ありがとうございました。