1

さて、ここに素敵なあいまいなものがあります。Visual Studio 2005 で最新のオープン トランスポート タイクーン ソースをコンパイルしようとしています (これは、zlib、dx8、およびその他のいくつかのかなり一般的なライブラリを使用する C++ アプリです)。

フリータイプの依存関係に関連するリンカー エラーがいくつか発生します。

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 安定版をダウンロードしてコンパイルし (これも 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 に答える