x64 Windows下配置C语言开发MySQL的环境遇到的问题

由于对C比较熟悉,最近要处理一个数据文件,所以想用C语言控制台程序处理并存入MySQL数据库。


环境:

在64bit的win 10上安装64bit的MySQL (full 模式完全安装),再用64bit的codeblock+GNU GCC编译, 或者用64bit VS2013 + cl编译器编译。(最后发现这两种方式都可以,并不是说Mysql默认的windows的库只适用于cl编译器。)


出现的问题 - 1:

设置对mysql库文件的搜索路径后,程序中添加对mysql.h 的include后现找不到两个头文件:

      binary_log_funcs.h 和  binary_log_types.h

解决方法:

通过在https://github.com/mysql/mysql-server/tree/5.7/libbinlogevents/export 下载源码,添加到%MySQL_HOME%\include\下,也就是mysql.h所在的位置解决。


出现的问题 - 2:(主要问题)

形如 “unresolved external symbol _mysql_query@8 referenced in function” 链接问题。

问题原因:

主要是因为使用的库(64 bit)和软件(64 bit)所要编译的软件Win32控制台程序(32 bit)不兼容的问题导致。所以与编译器无关,要编译的32bit程序要配合32bit的库文件。

解决方法:

在这个地址: http://dev.mysql.com/downloads/connector/c/ 下载32bit的Connector,也就是编译时所要用到的库和头文件。可以用zip版本,解压缩直接添加路径的依赖到解压对应文件夹并在Link libraries中添加lib文件就可以。这样编译和链接都可以通过。

形如:

   头件在 C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include

   库文件位置:C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\lib\libmysql.lib


出现的问题 - 3:

codeblock在运行时提示计算机中丢失libmysql.lib文件而不能运行。

解决方法:

需要将dll文件拷贝到Debug或者Release的exe所在文件夹下才可以。应该还有更好的办法将库文件打包进去或者操作一下。大家有好的办法可以留言。回头就改。


VS的问题原因和codeblock是一样的。处理方法相似,过程中觉得C#开发这个东西比用C快多了。做这样的小应用还是面向对象来的快。C#中添加依赖就很方便。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值