【发布时间】:2011-12-29 09:02:56
【问题描述】:
是否有任何现有的、有效的 D(尤其是 Windows 下的 D 2.0)的 MySQL 语言绑定仍在维护、更新,甚至远程戳?数十次谷歌搜索大多只指向之前由 Manfred Hansen 在http://www.steinmole.de/d/ 托管的一些代码,但这个网站现在已经死了,任何地方似乎都没有镜像副本。
我确实设法找到了这个:http://code.google.com/p/mysql4d/ 以及另一个名为 DDBI 的项目,它显然只适用于 D 1.0 和 Tango。不过,我在链接这些时遇到了麻烦。更多的谷歌搜索表明我需要使用 implib.exe 将 MySQL 附带的 libmysql.dll 转换为 libmysql.lib,但是该程序似乎对我来说失败了:
>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
谷歌搜索“无法读取 DLL 输入文件”揭示了完全的恐惧:零结果。是我做错了什么,还是我有某个版本的 MySQL 的 DLL 无法再转换?
版本:
DMD32 D Compiler v2.056
MySQL Ver 14.14 Distrib 5.5.8, for Win64 (x86)
【问题讨论】:
-
对于后代,看来我遇到的 DLL 问题是由于 implib.exe 显然无法读取 64 位文件。我下载了 32 位版本的 MySQL 社区服务器 5.1,并且能够通过 implib.exe 传递该 libmysql.dll 以创建一个工作的、可链接 dmd 的导入库。当然,我仍然从各个模块中得到了许多访问冲突错误/段错误,但这完全是另一回事。不过,下面答案中提到的纯 D 模块似乎可以完成工作。