Frage

Nun, hier ist eine schöne dunkel ein. Ich versuche, die neuesten Open Transport Tycoon Quelle in Visual Studio 2005 (es ist eine C ++ Anwendung, die zlib verwendet, DX8 und einige andere ziemlich häufig Bibliotheken) zu kompilieren.

Ich bekomme ein paar Linker Fehler mit den Freetype Abhängigkeiten zu tun:

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  

Ich habe die letzte Freetype stabil heruntergeladen und es (auch in VS2005) zusammengestellt, und setzen die ft2build.h und Freetype Verzeichnisse in mein VS8 / VC / include umfassen, und die libfreetype2.lib Bibliothek setzen so zusammengestellt in mein VS8 / VC / lib. Was könnte ich fehlen?

Danke!

War es hilfreich?

Lösung

Das @ Zeichen am Anfang der verstümmelten Funktionsnamen zeigt, dass Ihre fontcache.obj Datei diese Funktionen erwartet, dass die __fastcall Aufrufkonvention haben, was ungewöhnlich ist, als die Standard-Aufrufkonvention __cdecl ist. Ich vermute, es gibt eine Diskrepanz irgendwo in den Compiler-Einstellungen verwendet, um die Bibliotheken und solche, die Anwendung erstellen verwendet zu bauen. Siehe hier und hier für weitere Informationen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top