Quiero utilizar FreeType en un proyecto de C#. Encontré esto binding, pero todavía necesito un freetype.dll. Usualmente uso una biblioteca estática en mis proyectos de C++, así que nunca compilé una. Al abrir la solución freetype (VS2010) noté que no hay configuración para una biblioteca dinámica, solo estática. Traté de hacer mi propia configuración y logré generar un freetype.dll. Si lo uso con el enlace C# obtengo una excepción, que no se encontró el punto de entrada FT_Init_FreeType. ¿Alguna idea de cómo debo ajustar el proyecto freetype para exportar esas funciones?Compilación de FreeType a DLL (a diferencia de la biblioteca estática)
Respuesta
Si está de acuerdo con una versión anterior (marzo de 2008), puede ir a la página FreeType for Windows, descargar el último paquete de Binarios, abrir .ZIP y extraer FreeType6.dll del directorio bin. Solo renómbrelo apropiadamente.
Si necesita una versión más reciente, aquí es cómo se puede compilar la última:
descarga la última fuente (2.4.6 a partir de hoy) a partir http://sourceforge.net/projects/freetype/files/freetype2/
abierta Visual Studio 2010 y cargue
freetype.sln
desde el directoriobuilds\win32\vc2010
.abrir la configuración del proyecto, y en la pestaña
General
, cambieConfiguration Type
aDynamic Library (.dll)
abra el archivo
ftoption.h
, y añadir estas líneas (cerca de la "compilación de exportación DLL" observaciones SECCIÓN por ejemplo):#define FT_EXPORT(x) __declspec(dllexport) x #define FT_BASE(x) __declspec(dllexport) x
cambian la configuración de compilación del proyecto a "Liberar".
compilan el proyecto. Ahora debería tener un
freetype246.dll
en el directorioobjs\win32\vc2010
.
Voy a apostar que el problema es que su proyecto DLL no exporta ningún símbolo, así que mientras todo el código está ahí las direcciones de los símbolos no están en la mesa de las exportaciones para que nadie pueda obtener para ellos desde el exterior.
This question tiene una buena solución para exportar todos los símbolos en .dll sin tener que enumerarlos manualmente.
- 1. De la biblioteca estática MinGW (.a) a la biblioteca estática de Visual Studio (.lib)
- 2. Cómo forzar a los símbolos de una biblioteca estática a ser incluidos en una compilación de biblioteca compartida?
- 3. ¿Cómo compilar Haskell a una biblioteca estática?
- 4. Convirtiendo biblioteca de enlaces estáticos a dll dinámico
- 5. Biblioteca estática de compilación cruzada de Linux para Windows
- 6. Cómo convertir una dll dinámica a lib estática?
- 7. Compilación de una biblioteca estática para iOS que usa OpenMP
- 8. Es seguro vincular a una biblioteca estática construida con diferentes indicadores de compilación
- 9. Alterar la ruta de búsqueda DLL para DLL estática
- 10. ¿Convertir una biblioteca estática a una biblioteca compartida?
- 11. Sobrecarga de la llamada a la función DLL
- 12. Header File mismo para ambos DLL y biblioteca estática
- 13. ¿Puede un enlace de biblioteca estática de C++ a la biblioteca compartida?
- 14. Compilación de un código IronPython a EXE o DLL
- 15. "selector no reconocido enviado a la instancia" a una biblioteca estática a pesar bandera ObjC
- 16. compilación de la biblioteca estática de C++ para la plataforma de Windows de 64 bits utilizando VS2008
- 17. Diferencia de tamaño entre la biblioteca estática y dinámica (depuración) e impacto en el exe final
- 18. cargar dinámicamente la biblioteca estática?
- 19. Biblioteca estática (.lib) al proyecto de Python
- 20. cómo vincular la biblioteca estática a la biblioteca dinámica en gcc
- 21. ¿Inspector de biblioteca estática para Windows?
- 22. Registro de objetos en la biblioteca estática
- 23. Biblioteca estática y Biblioteca dinámica: Confusión
- 24. Cómo ver la plataforma de compilación de un archivo de biblioteca estática
- 25. ¿Cómo usar la biblioteca FreeType del sistema Android en el código nativo?
- 26. Variable global compartida en la biblioteca estática de C++
- 27. impedir la importación de la función de la biblioteca estática
- 28. ¿Cómo puedo determinar la arquitectura de destino de la biblioteca estática (.a) en Mac OS X?
- 29. GCC/Linux: agregar una biblioteca estática a .so?
- 30. Diferencia entre biblioteca estática y dinámica en Xcode para iPhone
esos binarios son del 9 de marzo de 2008 (versión 2.3.5 ...) La versión actual es 2.4.6 ... – Titusz
@Titusz - Buen punto. He actualizado mi respuesta. Sin embargo, si usted es el infractor, sería bueno asegurarse de que la pregunta esté completa para que sepamos toda la historia antes de contestar. –
esto funcionó perfectamente ... muchas gracias ... generosidad bien ganada;.) – Titusz