我正在使用ubuntu构建一个使用mysql的项目。要从命令行编译项目,我使用以下标志:
$(mysql_config --cflags)$(mysql_config --libs)
但是,当我尝试从Qt构建时,我得到了对mysql_close和其余mysql连接函数的未定义引用。
我尝试将之前命令行标志的表示添加到Qt中的QMAKe,但仍然存在相同的错误。
任何帮助?
答案 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上起作用