1

私はubuntuを使用してmysqlを使用するプロジェクトをビルドしています。コマンドラインからプロジェクトをコンパイルするには、次のフラグを使用します。

$(mysql_config --cflags)$(mysql_config --libs)

ただし、Qtからビルドしようとすると、mysql_closeおよび残りのmysql接続関数への未定義の参照が取得されます。

以前のコマンドラインフラグの表現をQtのQMAKeに追加しようとしましたが、それでも同じエラーが発生します。

ヘルプはありますか?

4

3 に答える 3

2

「mysql_config--cflags」の出力を次のコマンドでコンパイラフラグに追加します。

QMAKE_CFLAGS += $$system(mysql_config --cflags)
QMAKE_CXXFLAGS += $$system(mysql_config --cflags)

LIBSについても同様です。

LIBS += $$system(mysql_config --libs)

もちろん、上記のすべてがプロジェクトファイル(* .pro)に入ります。

于 2012-10-20T16:36:18.017 に答える
0

QtのSQLモジュールを含めるには、これが必要です

QT += sql

あなたの.proファイルで。libqsqlmysql.soまた、ドライバーがコンパイルされ、プラグインフォルダーに配置されていることを確認する必要があります。

〜/ QtSDK / Desktop / Qt / 4.8.0 / gcc / plugins / sqldrivers

私の場合。

于 2012-10-20T15:06:53.830 に答える
0

MysqlはデフォルトではSQLモジュールに含まれていないため、MattPhilipのソリューションは機能しません。

あなたがする必要があるのは、次のことによってmysqldevパッケージをインストールすることです

sudo apt-get install libmysqlclient-dev

次に、このようにプロファイルに追加します

LIB + = -L / usr / lib / mysql -lmysqlclient

これはubuntuで私のために働いた

于 2012-10-20T15:17:09.990 に答える