2012-02-10

MacアプリからMySQLに接続する

MacアプリからMySQLに接続する方法です。けっこう苦労しました。

MySQLのサイトにいくとダウンロードのところにMySQL connectorsがあります。ここにC/C++/Javaなどなどいろいろな言語へのライブラリが用意されています。最初はCでやるつもりでC(libmysql)をダウンロードしたのですが、組み込んでもライブラリ内部のエラーがでてなぜか使えない...あきらめてC++でトライしたらうまくいきました。ちなみにBoostのライブラリも必要です。

ダウンロードしたら、staticライブラリ、dylibライブラリ、headerファイルが入っています。まずは普通にXcodeのプロジェクトにすべて組み込みます。


続いてプロジェクトのBuild SettingsでSearch pathsを設定します。
Header Search PathsにMySQLライブラリのincludeフォルダ、Boostのincludeフォルダを指定。
Library Search PathsにMySQLライブラリを指定。

ここまででビルドは完了できるのですが、このまま実行するとdylibがロードされていない、とエラー終了します。そこで、実行時に環境変数を設定してdylibがロードされるように指定します。
プロジェクトのEdit schemeのRunのところで、DYLD_LIBRARY_PATHにMySQLのライブラリフォルダの設定を追加します。


これでアクセスできるようになります。
実際にデータベースへアクセスするサンプルコードはこんな感じ。

No comments:

Post a Comment