« Qt5: MSSQLへアクセスするために | トップページ | Qt5: 入門Qt4〜QtSqlから使ってみる »

2014年6月 3日 (火)

Qt5: MSSQL用ドライバを作成

ここまでの準備で、OSXからSQLServerにアクセスできる状態になりました。
しかし、残念ながら、まだQtからはアクセスできません。
QtのためにMSSQL用のデータベースドライバを作成する必要があります。

その対処方法は公式サイトのSQL Database Drivers  に記載されています。
でも、ただビルドするだけでは動きませんので、以下にポイントを書いておきます。

1. 準備するもの

(1) Qt5環境

Qt5環境はオフライン・インストーラ(dmg)からインストールしたQt 5.3.0 for Macです。
インストール時にSrcディレクトリを展開してください。でないと作業はできません。

(2) unixODBC/FreeTDSのヘッダとライブラリ

MacPortsからFreeTDSを"+mssql +odbc +universal"オプション付きでインストールします。
関連するファイルが/opt/local/includeと/opt/local/libに生成されます。
後述のqmakeでファイルが見つからない場合は、ここでミスした可能性が大きいです。

2. ドライバの生成

まずは公式サイトに従って、qmakeでMakefileを生成します。
あっさり書いてありますが、dmgからインストールした場合、とんでもなく深い階層になります。

Qt5.3.0は既定値のままホームディレクトリにインストールされているとして、

$ cd ~/Qt5.3.0/5.3/Src/qtbase/src/plugins/sqldrivers/odbc/
$ ~/Qt5.3.0/5.3/clang_64/bin/qmake "INCLUDEPATH+=/opt/local/include" "LIBS+=-L/opt/local/lib -lodbc"
$ make
$ cd ../../../../plugins/sqldrivers/

のように、ターミナルから実行します。
makeが終われば、無事にドライバが生成されているはずです。

~/Qt5.3.0/5.3/Src/qtbase/plugins/sqldrivers配下に、
libqsqlodbc.dylibとlibqsqlodbc_debug.dylibが生成されたら、次は配置です。

Qt5.3.0の動作環境では、既に同じ名前のdylibファイルが存在しています。
そのため、(お好みで)リネーム&コピーします。

$ cd ~/Qt5.3.0/5.3/clang_64/plugins/sqldrivers
$ mv libqsqlodbc.dylib libqsqlodbc.dylib.orig
$ mv libqsqlodbc_debug.dylib libqsqlodbc_debug.dylib.orig
$ cp ~/Qt5.3.0/5.3/Src/qtbase/plugins/sqldrivers/libqsqlodbc.dylib .
$ cp ~/Qt5.3.0/5.3/Src/qtbase/plugins/sqldrivers/libqsqlodbc_debug.dylib .

これで、Qt5からSQLServerにアクセスする準備が整ったと思います。

※2014.09.17追記

すみません。qmakeの後に余計な作業を書いてました。

$ make
$ make install

これでOKです。

« Qt5: MSSQLへアクセスするために | トップページ | Qt5: 入門Qt4〜QtSqlから使ってみる »

仕事部屋」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/564846/59755248

この記事へのトラックバック一覧です: Qt5: MSSQL用ドライバを作成:

« Qt5: MSSQLへアクセスするために | トップページ | Qt5: 入門Qt4〜QtSqlから使ってみる »

2014年11月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
サイト内検索
ココログ最強検索 by 暴想

Twitter

開発Twitter

無料ブログはココログ