2011-12-29 10 views
7

D(特にWindowsではD 2.0)用の既存の動作中のMySQL言語バインディングは、まだ更新、更新、またはリモートで突き止められていますか?何十ものGoogle検索は、以前はManfred Hansenがhttp://www.steinmole.de/d/でホストしていたコードを指していましたが、このサイトは現在死んでおり、どこにもコピーされていないようです。DのMySQL言語バインディング?

私はこれを見つけることができました:http://code.google.com/p/mysql4d/とDDBIという別のプロジェクトは、明らかにD 1.0とTangoでしか動作しません。私は、これらのリンクに問題があります。しかし、より多くのGoogle検索では、MySQLに含まれているlibmysql.dllをimplib.exeを使用して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入力ファイルを読み取れません」というGoogleの検索では、完全なホラーが明らかになります。結果はゼロです。完全に間違っていることをやっているのですか、DLLを変換できなくなったMySQLのバージョンがありますか?

バージョン:

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

私はDLLに問題があったようですが、implib.exeが64ビットファイルを読み込めないことが原因です。 MySQLコミュニティサーバー5.1の32ビット版をダウンロードし、libmysql.dllをimplib.exeに渡して、動作可能なdmdリンク可能なインポートライブラリを作成することができました。もちろん、私はまださまざまなモジュールから多数のアクセス違反エラー/セグメンテーションを取得していますが、それはまったく別の問題です。以下の答えで言及された純粋なDモジュールは仕事をやっているようです。 – ccjuju

答えて

7

はこの1つで始まる、いくつかのMySQLのバインディングがあります。https://github.com/adamdruppe/misc-stuff-including-D-programming-language-web-stuff/blob/master/mysql.d

しかし、(私見)最も有望なプロジェクトは、MySQLプロトコルのネイティブDの実装です。それはここに見つけることができる:https://github.com/britseye。あなたは上記試さ1については

、あなたはlibmySQL.dllファイルのためのMySQLと一緒に配布1からMySQLライブラリlibmysql.libのOMFのバージョンを作成するためのCOFFIMPLIBツールが必要です。

更新:スティーブのmysqlnプロジェクトのこれらの2つのフォークはアクティブ:https://github.com/simendsjo/mysqlnhttps://github.com/rejectedsoftware/mysql-nativeです。

+0

情報をありがとう!しかし、私はこれらの他のプロジェクトをチェックアウトします...しかし、私はCOFFIMPLIBを使ってMySQL 5.5に含まれているlibやdllを変換しようとしました。これらの2つのファイルはディストリビューションに含まれています: – ccjuju

+0

4,175,872 libmysql.dll 23,920 libmysql.lib ツールはDLLで実行されません > coffimplib.exe libmysql.dll _libmysql.lib エラー:libmysql.libで正常に実行されますが、アーカイブ署名 が見つかりません。しかし、結果のファイルとリンクしようとすると、さまざまな 'Symbol Undefined _mysql_query'などのエラーが表示されます。 これは私の典型的な領域ですが、_文字を何らかの形で関数名の先頭に追加する必要があるのだろうかと思います。私はこれがimplib.exeに受け継がれるフラグであることを思い出していますが、coffimplib.exeにはそのようなオプションがないようです。 – ccjuju

関連する問題