我使用的是windows7x64,ruby2.0.0p247,rails4.0.0和mysql5.5.27。
当我运行$ rails server
命令时,我得到以下错误。
C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/mysql2-0.3.13/lib/mysql2/mysql2.so: [BUG] Segmentation fault ruby 2.0.0p247 (2013-06-27) [x64-mingw32]
我怎样才能摆脱这个错误?
包含在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