2011-12-29 10 views
7

¿Existen enlaces de lenguaje MySQL que funcionen para D (particularmente D 2.0 en Windows) que aún se mantienen, actualizan o incluso se atienden remotamente? Decenas de búsquedas de Google en su mayoría solo apuntan a algún código previamente alojado en http://www.steinmole.de/d/ por un tal Manfred Hansen, pero este sitio ahora está muerto y no parece haber copias duplicadas en ninguna parte.enlaces de lenguaje MySQL para D?

Logré encontrar esto: http://code.google.com/p/mysql4d/, así como otro proyecto llamado DDBI que aparentemente solo funciona con D 1.0 y Tango. Sin embargo, tengo problemas para vincular estos ... más búsquedas en Google indican que necesito convertir libmysql.dll incluido con MySQL a libmysql.lib usando implib.exe, sin embargo, el programa parece estar fallando:

>implib.exe /system libmysql.lib libmysql.dll  
Digital Mars Import Library Manager Version 7.6B1n 
Copyright (C) Digital Mars 2000. All Rights Reserved. 
Error(10): Error: cannot read DLL input file 

La búsqueda en Google de "no se puede leer el archivo de entrada de DLL" revela horror absoluto: cero resultados. ¿Estoy haciendo algo completamente incorrecto, o tengo alguna versión de MySQL cuya DLL ya no se puede convertir?

Versiones:

DMD32 D Compiler v2.056 
MySQL Ver 14.14 Distrib 5.5.8, for Win64 (x86) 
+1

Para la posteridad, parece que el problema que tenía con la DLL se debía a que implib.exe aparentemente no podía leer los archivos de 64 bits. Descargué la versión de 32 bits del servidor de comunidad 5.1 de MySQL y pude pasar esa libmysql.dll a través de implib.exe para crear una biblioteca de importación que funcione, dmd-linkable. Por supuesto, todavía tengo numerosos errores/segfaults de Violación de Acceso de varios módulos, pero eso es otro asunto completamente diferente. El módulo D puro mencionado en la respuesta a continuación parece hacer el trabajo bien. – ccjuju

Respuesta

7

hay varios enlaces de MySQL, a partir de éste: https://github.com/adamdruppe/misc-stuff-including-D-programming-language-web-stuff/blob/master/mysql.d

Pero (en mi humilde opinión) el proyecto más prometedor es la implementación nativa D del protocolo MySQL. Se puede encontrar aquí: https://github.com/britseye.

para la persona que ha intentado anteriormente, se necesita la herramienta COFFIMPLIB para crear una versión OMF de la biblioteca MySQL libmysql.lib de la distribuida con MySQL para el archivo libmySQL.dll.

Actualización: Estas dos horquillas del proyecto mysqln de Steve están activas: https://github.com/simendsjo/mysqln y https://github.com/rejectedsoftware/mysql-native.

+0

¡Gracias por la información! Verificará esos otros proyectos ... sin embargo, intenté usar COFFIMPLIB para convertir el lib y/o dll incluido con MySQL 5.5 Estos dos archivos están incluidos con la distribución: – ccjuju

+0

4,175,872 libmysql.dll 23,920 libmysql.lib The la herramienta no se ejecuta en la DLL, > coffimplib.exe libmysql.dll _libmysql.lib Error: falta la firma de archivo aunque se ejecuta correctamente en libmysql.lib. Sin embargo, si intento vincularlo con el archivo resultante, sigo recibiendo los diversos errores 'Symbol Undefined _mysql_query', etc. Esto está fuera de mi ámbito de experiencia típico, pero me pregunto si los caracteres _ deben agregarse al principio de los nombres de las funciones de alguna manera? Recuerdo que esta es una bandera aceptable para implib.exe, pero parece que coffimplib.exe no tiene esa opción. – ccjuju

Cuestiones relacionadas