用vs2013建立了一个c++的项目,然后在根目录放置了freetype.lib,将GitHub上面的include文件夹拷贝到本机,并且在VS中设置了额外包含目录指向这个inluce文件夹,然后将freetype.dll拷贝到Debug目录下,然后程序中用了如下的代码:

#include
"stdafx.h"

#include
"FreeTypeHelper.h"

#include
<ft2build.h>

#include
"freetype/freetype.h"

#include
FT_FREETYPE_H

 

#pragma
comment(lib, "freetype")

 

 

 

int
FreeTypeHelper::Test1()

{

    FT_Library library;

    FT_Init_FreeType(&library); //加上这句后报错

 

    return 0;

}

 

编译的时候,如果加上上面的一句总是报错:

error LNK2019: unresolved external symbol __imp__FT_Init_FreeType referenced in function "public: int __thiscall FreeTypeHelper::Test1(void)" (?Test1@FreeTypeHelper@@QAEHXZ)

 

在FT_Init_FreeType上面Go To Definition, 发现定位到了freetype.h里面,用dumbbin /exports freetype.dll查看,发现DLL中也有这个方法。

到底是怎么回事那?

【解决方法】

位的lib文件,重新下载32位的lib文件方法项目根目录,就编译通过了!

05-11 15:39