だけで、Windowsのバージョンを使用してと間違って何まず、?それは正常に動作します。
私はあなたと同じことをしたいと思っています。私はサーバーを構築しようとしていないことに注意してください。私が関心を持っていたのはMySQLクライアントライブラリだけだったので、Cygwin環境で簡単なクライアント開発をすることができました。
Cygwinでクライアントライブラリをビルドするにはどうすればいいですか?
まず、タールボールを取得します。私はmysql-5.5.13.tar.gz
を使用しました。適切な場所(例:/usr/local/src
)に梱包します。
次に、Cygwinインストーラを使用してCMake
ビルドシステムをインストールします。 MySQLはGNU AutotoolsからCMakeに切り替えました。 CMakeはメタ構築システムです。特定のビルド環境用にMakefileやその他のビルドスクリプトを生成します。
もちろん、make
とgcc
も必要です。
私はコンパイルするものを得るためにinnocuous little patch posted on the MySQL forum by one Hiroaki Kawaiを適用する必要がありました:
は最後に、私は、MySQL /文字列/ dtoa.c中)(_dtoaする)(すべてDTOAの名前を変更しました。 関数は静的であり、名前を変更するのが安全である必要があります。
あなたはPerlを使用してパッチを適用することができます
perl -pi.orig -e 's/\bdtoa\b/_dtoa/g' strings/dtoa.c
その後、トップのソースディレクトリにある、タイプ:
cmake .
make mysqlclient
あなたはlibmysql/
、libclientlib.a
とlibmysqlclient.a
に2つの静的ライブラリを取得します。私は前者が(おそらく単なる人工物である)ことは知らないが、後者は本当のことである。
cp /usr/local/src/mysql-5.5/libmysql/libmysqlclient.a /usr/local/lib/
しかし、それは静的であり、おそらく動的ライブラリが必要です。これはCygwin docsが便利な場所です。だから、:共有ライブラリcygmysqlclient.dll
とインポートライブラリlibmysqlclient.dll.a
を作成します
module=mysqlclient
gcc -shared -o cyg${module}.dll \
-Wl,--out-implib=lib${module}.dll.a \
-Wl,--export-all-symbols \
-Wl,--enable-auto-import \
-Wl,--whole-archive lib${module}.a \
-Wl,--no-whole-archive -lz
。両方を/usr/local/bin
にコピーします。以上です。
ここにはanother question on building the MySQL client library on Cygwinです。
私の設定では、cmakeがクラッシュする:-( – Olav
クラッシュ?症状は何ですか? – Lumi