Моя цель - создать простое консольное приложение Win32, которое использует HunSpell для проверки правописания введенного пользователем слова.
Я пытался следовать этому учебному коду проекта кода , который предназначен для Visual Studio 2008 и HunSpell 1.2.1.
Я не хочу использовать предоставленный код, поскольку я собираюсь написать свой собственный.
Кроме того, я хочу добавить HunSpell как dll, а не как статическую библиотеку.
Ниже приведены шаги, которые я предпринял:
- Создан консольный (пустой) проект Win32 с именем myproject.
- Скачанный HunSpell 1.3.2 с SourceForge.org.
- Скопировано hunspell-1.3.2 \ src \ hunspell и win_api в myproject \ myproject \ HunSpell-Src
- Добавлен и преобразован проект libhunspell myproject \ myproject \ HunSpell-Src \ win-api \ libhunspell.vcproj
к решению.
- В моей отладочной сборке использовались debug_dll и моя сборка выпуска release_dll libhunspell в Configuration Manager.
- Перестроен проект libhunspell, libhunspell.dll создается в папках debug_dll и release_dll соответственно.
- Сделал мой консольный проект зависимым от libhunspell. (Добавлена ссылка на libhunspell)
- Скопированные файлы словарей en_US.aff & en_US.dic в myproject \ myproject \ HunSpell-Dic после их загрузки с SourceForge.org.
Я не могу понять, как / где добавить процессор, определяющий HSPELLEDIT_DLL, который упоминается в руководстве по проекту кода.
В соответствии с шагами, перечисленными в разделе «Использование функций из библиотеки классов в консольном приложении» на MSDN , результат не изменился.
Я хочу проверить это с помощью программы, подобной этой:
#include <iostream>
#include "HunSpell-Src/win_api/hunspelldll.h"
using namespace std;
void main()
{
void *spellObj = hunspell_initialize("HunSpell-Dic\\en_us.aff", "HunSpell-Dic\\en_us.dic");
char str[60];
cin >> str;
int result = hunspell_spell(spellObj, str);
if(result == 0)
cout << "Spelling error!";
else
cout << "Correct Spelling!";
hunspell_uninitialize(spellObject);
}
VS выдает следующее сообщение об ошибке, если я пытаюсь его скомпилировать:
myproject\myproject\hunspell-src\win_api\hunspelldll.h(34): fatal error C1083: Cannot open include file: 'hunspell.hxx': No such file or directory
Hunspell.hxx присутствует в myproject \ myproject \ HunSpell-Src \ hunspell. IntelliSense помечает файл #include «hunspell.hxx» как ошибку, в то время как вкладка не фокусируется с сообщением «Ошибка: не удается открыть исходный файл hunspell.hxx», но после выделения этой ошибки ошибка исчезает.
Спасибо за вашу помощь.