静态构建Qt时找不到libmysql.dll
我们已经用-static选项和-qtsqlmysql编译了Qt。一切进展顺利(编译等,它在我的电脑上工作)。但是当我把程序放在另一台计算机上时,我得到消息“找不到libmysql.dll…”。静态链接的Qt并不意味着sql插件将使用静态数据库库。您需要设置mysql库的路径,以便使用静态库。实际上,您使用的是所谓的导出mysql库 让程序运行的直接解决方案是在程序的安装路径中包含静态构建Qt时找不到libmysql.dll,mysql,qt,dll,static,Mysql,Qt,Dll,Static,我们已经用-static选项和-qtsqlmysql编译了Qt。一切进展顺利(编译等,它在我的电脑上工作)。但是当我把程序放在另一台计算机上时,我得到消息“找不到libmysql.dll…”。静态链接的Qt并不意味着sql插件将使用静态数据库库。您需要设置mysql库的路径,以便使用静态库。实际上,您使用的是所谓的导出mysql库 让程序运行的直接解决方案是在程序的安装路径中包含libmysql.dll 长期的解决方案是使用正确的静态mysql库重新配置Qt构建,并重新构建插件。您需要将conf
libmysql.dll
长期的解决方案是使用正确的静态mysql库重新配置Qt构建,并重新构建插件。您需要将configure
指向库的右侧变体。您可以有一个作为静态库的.lib
文件和另一个作为导入库的.lib
文件。前者会更大,这就是你想要的。后者将使您的可执行文件依赖于mysql.dll
默认情况下,mysql C连接器库构建为动态库。您必须手动将其构建为静态库。这需要一些,IIRC。我有一阵子没做了。一般说明如下:但是,没有现成的静态库选项。我使用了选项-qt-sql-mysql和-static标志。我认为它是非插件版本,正如在“配置帮助”中所写的那样。@FilipPost:您可以有一个与动态mysql库链接的静态插件,这正是您所得到的。那么,我如何获得静态mysql库呢?