Проблема со статической связью библиотеки 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.