使用freetype时的LNK 2001

问题描述

我正在尝试在我的项目中包含自由类型库。

我从https://github.com/ubawurinna/freetype-windows-binaries下载了二进制文件

当我尝试编译时,我得到 error LNK2001: unresolved external symbol "struct FT_LibraryRec_ * ftlib" (?ftlib@@3PEAUFT_LibraryRec_@@EA)

和其他类似的LNK2001。

我在寻找答案,发现需要链接msvcmrt.libmsvcrt.lib 效果不佳。

我正在用链接链接lib文件,并添加其他包含目录。怎么了?

文件中的包含行:

#include <ft2build.h>
#include FT_FREETYPE_H

编辑:链接器命令: lib\freetype\win64\freetype.lib;opengl32.lib;glu32.lib;lib\glfw-3.3.2\lib-vc2019\glfw3.lib;lib\glew-2.2.0\lib\Release\x64\glew32.lib;lib\soil\libs\soil.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)

解决方法

问题似乎是其他问题,没有以任何方式连接到freetype。由于某些原因,当我尝试使用非默认类型(GLuint,FT_Library等)创建全局变量时,出现奇怪的错误。这曾经发生过一次,但是我仍然不知道到底是什么问题。无论如何,解决方案是不使用

extern FT_Library ftlib;

在头文件中。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...