用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中也有这个方法。

到底是怎么回事那?

【解决方法】

我从Github上面下载的是64位的lib文件,重新下载32位的lib文件方法项目根目录,就编译通过了!

posted on 2018-03-29 20:32  今夜太冷  阅读(666)  评论(0编辑  收藏  举报