MySQL Connector/C 64 位中包含的 libmysql.lib 与 mingw64-gcc 编译器不兼容。
您需要生成 mingw64 兼容的 libmysql.lib 文件。
要生成 libmysql.lib 文件,您需要 gendef.exe,它可以从 mingw-w64 发行版获得(我从https://code.google.com/p/structure-svm-map/downloads/detail?name=svm获得-map-win.zip&can=2&q= )
在 mysql 连接器的 lib 文件夹中,按照以下步骤生成 libmysql.lib。
gendef.exe libmysql.dll
dlltool -v --dllname libmysql.dll --def libmysql.def --output-lib libmysql.lib
并运行正常的 gem install 命令。gem install mysql2 -v '0.3.12b6' -- --with-opt-dir="..."
注意:在 MySQL Connector/C 6.1 的情况下,由于版本比较例程,您不能使用 mysql2 模块,但有以下例外。RuntimeError: MySQL 客户端库版本不正确!此 gem 是为 5.7.2-m12 编译的,但客户端库是 6.1.0。
您应该在http://dev.mysql.com/downloads/connector/c/6.0.html#downloads中使用 mysql-connector-c-6.0.2-winx64.msi
来源:https ://bugs.ruby-lang.org/issues/8591