vs2012连接mysql,一直是 LNK2019,弄了两天,都快疯了,终于在http://blog.csdn.net/hngchiming/article/details/8256587上看到一篇博客,原来是平台问题。
系统是win7 64,mysql也是64,用的链接库自然也是64位的了, 可是vs解决方案平台还是32位,所以会出错。
那片博客是把vs的平台改成了64位,可以的,不过我是下了一个32位的链接库,平台保持32位,因为没弄过64位,出问题了也不好解决,就全改成32位了,然后连接的数据库的版本就随意了,32、64都是可以正常连接的。
当然了,用odbc连接也是可以的,不过不喜欢,还是喜欢官方的api。
连接数据库使用的是Connector/C (libmysqlclient),面向过程的c函数,够用了。
不过官方已经有Connector/C++,面向对象的,设计了几个相关类,很强大的,不过由于c函数已经够用了,就没用c++库。而且c++库还需要boost库支持,太麻烦了。
现在网上的资料大多是for c的,for c++的很少,需要的话去mysql官方文档查看,大概看了一下,设计的很强大的。
这两天都快疯了,各种折腾,试着去编译官方的源代码,还要用cmake,各种失败,尝试了各种库,就是没试过32位的,一直失败,终于在山穷水尽之时看到了那片博文,太感激了,希望可以同样帮助到跟我一样快疯了的。
不过这些失败的经历也学到了一些东西,对动态链接库了解更深刻了,还是用了dumpbin工具,查看导入导出函数,很强大。
所有的事情,做过了就是经验,经验就是最宝贵的东西。