QT连接MYSQL问题,我没有本地编译库,而是下载qsqlmysql4.dll,qsqlmysqld4.dll两个库,放人sqldrivers中
工程中添加外部库libmysql.lib,.pro中多出这部分win32:CONFIG(release,debug|release):LIBS+=-L$$PWD/lib/...
工程中添加外部库libmysql.lib,.pro中多出这部分
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/lib/
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/lib/
INCLUDEPATH += $$PWD/include
DEPENDPATH += $$PWD/include
然后编译运行,能成功连接到数据库,发布是把.exe文件和所依赖的.dll文件拷到一个文件夹,并拷贝libmysql.dll文件,在本地能成功运行并连接到数据库。如果不放libmysql.dll,就会连接不到数据库,db.open()打开错误。
问题来了:
将文件夹拷贝到其他机器上,没有装QT和MYSQL的机器,就会连接不到数据库,db.open()打开错误。
很是困扰,这个问题一直解决不了,不知道出在哪里。不知道有没有人遇到这种问题。
搞定了。是lib路径的问题,在发布文件夹中建立\plugins\sqldrivers放入mysql库。在main函数里加QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator()+"plugins");a.addLibraryPath(strLibPath); 展开
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/lib/
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/lib/
INCLUDEPATH += $$PWD/include
DEPENDPATH += $$PWD/include
然后编译运行,能成功连接到数据库,发布是把.exe文件和所依赖的.dll文件拷到一个文件夹,并拷贝libmysql.dll文件,在本地能成功运行并连接到数据库。如果不放libmysql.dll,就会连接不到数据库,db.open()打开错误。
问题来了:
将文件夹拷贝到其他机器上,没有装QT和MYSQL的机器,就会连接不到数据库,db.open()打开错误。
很是困扰,这个问题一直解决不了,不知道出在哪里。不知道有没有人遇到这种问题。
搞定了。是lib路径的问题,在发布文件夹中建立\plugins\sqldrivers放入mysql库。在main函数里加QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator()+"plugins");a.addLibraryPath(strLibPath); 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询