http://16hot.blog.isyi.com/post/1/144

在网上搜索到一些资料,按照上面提示的方法。

已经解决了问题。

因为我使用的是Dev-C++开发工具。他使用的是gcc编译器。

而MySQL提供的Windows For C连接库不支持gcc 、 CygWin 、MinGW等。

因此在编译连接的时候,就会出现错误提示。

解决方法:

1 、安装好MySQL (如果不愿意安装,那找个libmySQL.dll文件也可以)

2、下载Pexports工具

3、转换操作: pexports libmySQL.dll > libmySQL.def

4、使用Cygwin的 dlltool转换成为libmysql.a文件。dlltool --input-def libmySQL.def --dllname libmySQL.dll --output-lib libmysql.a -k

5、尝试是否成功: gcc -o mysqldemo mysqldemo.o <path to libmysql.a>

如果再出现象mysql_connect@xx (xx是数字)的错误提示。就执行第6步。

6、修改libmysql.def文件,给mysql_connect加上@xx,即: mysql_connect@xx

7、重做第4步

8、然后尝试第5步,如果还是出现错误提示。就作第6步。一直到没有错误为止。

  1. 04/11/2005, 23:51

     

    你是如何编译的呢?

     

  2. 05/11/2005, 17:32

     

    第一步:指定mysql.h等包含文件的路径
    在Dev-C++里,打开项目,Alt+P 打开项目属性。
    在“文件/目录” -> “包含文件目录”添加你存放mysql头文件的路径。

    第二步:生成libmySQL.a文件
    参考我上面的文章,必须将libmySQL.dll转换成为libmySQL.a ,编译器才能认。
    因为mysql自带的libmySQL.dll是给微软的VC++使用的。:(
    我也因为这个问题,搞了N久。

    第三步:指定libmySQL.a的路径
    同样是在项目属性里。在“参数”页,有个“连接器”框。在下面有“加入库或者对象”,点击打开,到你存放libmySQL.a文件的目录,选择它。
    然后“确定”退出属性窗口,再编译。

    这时候会出现一些函数提示如mysql_query@8 不存在等。需要参考上面文章,一步一步改,生成新的libmySQL.a文件。
    直到成功为止。

     

  3. 11/05/2006, 22:31

     

    16hot兄:真的非常感谢,为了这一丁点东西,我找这方面的资料找了好久呢。由于讨厌使用盗版软件,在可能的情况下,我都使用Free Software完全代替了盗版软件。因此我也用DEV-CPP完全代替了Visual C++,不过DEV-CPP使用资料真的奇缺,帮助文档也不够详细。免费软件嘛,哪能做那么周到,不过在此还是真得谢谢你了。
    我想在过些时把一些常用的、国内资料少的开发软件使用方法、技巧写一些文章,希望到时候我们可以交流一下,我留下Gmail邮箱,请你时间时请给我Mail吧,到时候我们在交流一下啊!!!
    Email:lewbing@gmail.com

     

  4. 09/07/2007, 18:16

     

    您好
    我找了網路上好多文章~終於看到這篇
    於是我試著你的方法~產生了 libmysql.a
    但是我link的時候還是會發生錯誤...
    [Linker error] undefined reference to `mysql_init@4'
    [Linker error] undefined reference to `mysql_real_connect@32'
    [Linker error] undefined reference to `mysql_query@8'
    [Linker error] undefined reference to `mysql_close@4'

    我的IDE是 DEV-C++ 4.9.9.2
    MYSQL是 5.0.27
    請問您有遇過這樣問題嗎?

     

  5. 12/07/2007, 21:43

     

    修改libmysql.def文件,把提示没有的函数都加上,然后再从第4、5步。如果还有,就继续重复,直到没有提示为止。

相关文章:

  • 2021-09-18
  • 2021-06-07
  • 2021-06-27
  • 2021-12-07
  • 2022-03-03
  • 2022-02-23
  • 2022-02-16
  • 2021-08-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-02
  • 2021-09-29
  • 2021-09-28
  • 2021-12-05
相关资源
相似解决方案