1

嗯,这是一个很好的模糊的。我正在尝试在 Visual Studio 2005 中编译最新的开放式传输大亨源代码。(这是一个使用 zlib、dx8 和其他一些相当常见的库的 C++ 应用程序)。

我收到一些与 freetype 依赖项有关的链接器错误:

Error   1   error LNK2001: unresolved external symbol @FT_Done_Face@4   fontcache.obj   
Error   2   error LNK2001: unresolved external symbol @FT_Load_Char@12  fontcache.obj   
Error   3   error LNK2001: unresolved external symbol @FT_Init_FreeType@4   fontcache.obj   
Error   4   error LNK2001: unresolved external symbol @FT_Select_Charmap@8  fontcache.obj   
Error   5   error LNK2001: unresolved external symbol @FT_Set_Charmap@8 fontcache.obj   
Error   6   error LNK2001: unresolved external symbol @FT_New_Face@16   fontcache.obj   
Error   7   error LNK2001: unresolved external symbol @FT_Render_Glyph@8    fontcache.obj   
Error   8   error LNK2001: unresolved external symbol @FT_Set_Pixel_Sizes@12    fontcache.obj   
Error   9   fatal error LNK1120: 8 unresolved externals ..\objs\Win32\Release\\openttd.exe  

我已经下载了最新的 freetype stable 并编译它(也在 VS2005 中),并将 ft2build.h 和 freetype 包含目录放入我的 VS8/VC/include 目录中,并将 libfreetype2.lib 库如此编译到我的 VS8/ VC/lib 目录。我会错过什么?

谢谢!

4

1 回答 1

1

@损坏的函数名称开头的符号表明您的文件fontcache.obj期望这些函数具有__fastcall调用约定,这是不寻常的,因为默认调用约定是__cdecl. 我怀疑用于构建库的编译器设置和用于构建应用程序的编译器设置不匹配。有关更多信息,请参见此处此处

于 2009-01-07T22:27:09.050 回答