在Visual Studio 2010中静态链接hunspell库的问题

时间:2011-03-08 12:24:40

标签: visual-studio-2010 visual-c++ linker static-linking hunspell

我无法将hunspell库静态链接到Visual Studio 2010中的C ++项目。

我下载了hunspell并转到hunspell-1.3.1\src\win_api文件夹。我在visual studio 2010中打开了libhunspell.vcproj文件并转换了项目。我在Realease配置中构建了解决方案,并在hunspell-1.3.1\src\win_api\Release\libhunspell文件夹中生成了“libhunspel.lib”文件。

在我使用hunpell的简单C ++控制台程序中:

  • 我在属性页/配置属性/ VC ++目录/库目录

  • 中添加了libhunspel.lib文件的文件夹
  • 我将“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

我不知道什么是错的。我也尝试使用动态库。在Release_dll配置中构建了Hunspell解决方案,并将我的应用中的包含目录更改为hunspell-1.3.1\src\win_api\Release_dll\libhunspell并进行编译。

我只需要复制我的可执行程序所在的libhunspell.dll。

1 个答案:

答案 0 :(得分:1)

您需要在stdafx.h中的某处放置“#define HUNSPELL_STATIC”。