Pregunta

Bueno, aquí hay una bonita oscura. Estoy tratando de compilar la última fuente de magnate de transporte abierto en Visual Studio 2005. (Es una aplicación C ++ que usa zlib, dx8 y algunas otras bibliotecas bastante comunes).

Recibo algunos errores de vinculador relacionados con las dependencias de 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  

He descargado el freetype estable más reciente y lo he compilado (también en VS2005), y puse el ft2build.hy los directorios de inclusión de freetype en mi directorio de VS8 / VC / include, y puse la biblioteca libfreetype2.lib así compilada Mi directorio VS8 / VC / lib. ¿Qué podría faltar?

¡Gracias!

¿Fue útil?

Solución

El signo @ al comienzo de los nombres de funciones modificadas muestra que su archivo fontcache.obj está esperando que estas funciones tengan el __fastcall convención de llamada, que es inusual ya que la convención de llamada predeterminada es __cdecl . Sospecho que hay una falta de coincidencia en algún lugar de la configuración del compilador que se usa para construir las bibliotecas y las que se usan para construir la aplicación. Consulte aquí y here para obtener más información.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top