Проблема со статической связью библиотеки hunspell в visual studio 2010

Я не могу статически связать библиотеку hunspell с моим проектом C++ в Visual Studio 2010.

Я скачал Hunspell и пошел в hunspell-1.3.1\src\win_api папка. Я открыл файл libhunspell.vcproj в visual studio 2010 и преобразовал проект. Я построил решение в Realease конфигурации и сгенерировал файл "libhunspel.lib" в hunspell-1.3.1\src\win_api\Release\libhunspell папка.

В моей простой C++ консольной программе, использующей hunpell:

  • Я добавил эту папку с файлом libhunspel.lib на страницах свойств / свойства конфигурации / каталоги VC++ / каталоги библиотек

  • Я добавил папку "hunspell-1.3.1\src\" на страницы свойств / Свойства конфигурации / Каталоги VC++ / Включить каталоги

  • и "libhunspell.lib" на странице свойств / компоновщика / ввода / дополнительных зависимостей.

Но это все еще дает мне неразрешенную внешнюю ошибку символа:

Error   2   error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __thiscall Hunspell::spell(char const *,int *,char * *)" (__imp_?spell@Hunspell@@QAEHPBDPAHPAPAD@Z) referenced in function _main   C:\Users\Me\Documents\Visual Studio 2010\Projects\hunspell_learning\hunspell_learning\main.obj  hunspell_learning
Error   3   error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall Hunspell::Hunspell(char const *,char const *,char const *)" (__imp_??0Hunspell@@QAE@PBD00@Z) referenced in function _main   C:\Users\Me\Documents\Visual Studio 2010\Projects\hunspell_learning\hunspell_learning\main.obj  hunspell_learning
Error   1   error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall Hunspell::~Hunspell(void)" (__imp_??1Hunspell@@QAE@XZ) referenced in function _main C:\Users\Me\Documents\Visual Studio 2010\Projects\hunspell_learning\hunspell_learning\main.obj  hunspell_learning
Error   4   error LNK1120: 3 unresolved externals   C:\Users\Me\Documents\Visual Studio 2010\Projects\hunspell_learning\Debug\hunspell_learning.exe 1   1   hunspell_learning

Я понятия не имею, что может быть не так. Я тоже пытаюсь с динамической библиотекой. Встроенное решение Hunspell в Release_dll конфигурации и только что изменил Включить каталоги в моем приложении, чтобы hunspell-1.3.1\src\win_api\Release_dll\libhunspell и это компилируется. Мне нужно только скопировать libhunspell.dll, где моя исполняемая программа, так что DLL будет загружен.

1 ответ

Вам нужно поместить "#define HUNSPELL_STATIC" где-нибудь в вашем stdafx.h.

Другие вопросы по тегам