将编译标志添加到Qt以使用mysql

时间:2012-10-20 14:39:24

标签: c++ mysql qt

我正在使用ubuntu构建一个使用mysql的项目。要从命令行编译项目,我使用以下标志:

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

但是,当我尝试从Qt构建时,我得到了对mysql_close和其余mysql连接函数的未定义引用。

我尝试将之前命令行标志的表示添加到Qt中的QMAKe,但仍然存在相同的错误。

任何帮助?

3 个答案:

答案 0 :(得分:1)

将“mysql_config --cflags”的输出添加到编译器标志中:

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

同样对于LIBS:

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

当然,以上所有内容都会进入您的项目文件(* .pro)。

答案 1 :(得分:0)

要包含Qt的SQL模块,您需要这个

QT += sql

.pro文件中。您还需要确保已编译驱动程序,并将其放入插件文件夹{/ 1}}

  

〜/ QTSDK /桌面/ QT / 4.8.0 / GCC /插件/ sqldrivers

就我而言。

答案 2 :(得分:0)

默认情况下,SQL模块中不包含Mysql,因此Matt Philip的解决方案无效。

您需要做的是通过执行

安装mysql dev软件包
  

sudo apt-get install libmysqlclient-dev

然后将其添加到专业文件中,如此

  

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

这对我在ubuntu上起作用