Qt MySql 驱动的编译

10 篇文章 0 订阅
5 篇文章 0 订阅

首先 要找到这个玩意,进入这个dos窗口


提醒:数据库的文件必须用32位的,如果不知道是那个版本直接可以在mysql的bin下输入命令:mysql -V    这里的V一定要大写,就可以出来版本和对应适合那个本的windows os。

不用32为会报这样的错误


.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x160): undefined reference to `
mysql_num_rows@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x18b): undefined reference to `
mysql_stmt_num_rows@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x22a): undefined reference to `
mysql_num_rows@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x257): undefined reference to `
mysql_stmt_num_rows@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x29e): undefined reference to `
mysql_stmt_insert_id@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2da): undefined reference to `
mysql_insert_id@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x608): undefined reference to `
mysql_character_set_name@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x869): undefined reference to `
mysql_errno@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x880): undefined reference to `
mysql_field_seek@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x8ac): undefined reference to `
mysql_field_seek@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x8b7): undefined reference to `
mysql_fetch_field@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x8ff): undefined reference to `
mysql_fetch_field@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x931): undefined reference to `
mysql_error@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x940): undefined reference to `
mysql_errno@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xaba): undefined reference to `
mysql_errno@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xb21): undefined reference to `
mysql_stmt_error@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xb2e): undefined reference to `
mysql_stmt_errno@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xce0): undefined reference to `
mysql_stmt_data_seek@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xcf1): undefined reference to `
mysql_stmt_fetch@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xd5e): undefined reference to `
mysql_data_seek@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xd6f): undefined reference to `
mysql_fetch_row@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xe90): undefined reference to `
mysql_fetch_row@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xed7): undefined reference to `
mysql_stmt_fetch@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x1117): undefined reference to
`mysql_fetch_lengths@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x228e): undefined reference to
`mysql_init@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2419): undefined reference to
`mysql_real_connect@32'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2632): undefined reference to
`mysql_close@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x284f): undefined reference to
`mysql_real_connect@32'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x28c1): undefined reference to
`mysql_set_character_set@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x28d4): undefined reference to
`mysql_get_client_version@0'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x28ed): undefined reference to
`mysql_thread_init@0'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x29be): undefined reference to
`mysql_select_db@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2aeb): undefined reference to
`mysql_close@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2b8b): undefined reference to
`mysql_get_server_version@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2bbb): undefined reference to
`mysql_options@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2c34): undefined reference to
`mysql_thread_end@0'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2c3f): undefined reference to
`mysql_close@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x3239): undefined reference to
`mysql_list_fields@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x3296): undefined reference to
`mysql_fetch_field@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x32a5): undefined reference to
`mysql_free_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x336a): undefined reference to
`mysql_query@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x34aa): undefined reference to
`mysql_query@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x35ea): undefined reference to
`mysql_query@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x3866): undefined reference to
`mysql_get_server_version@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x3cf3): undefined reference to
`mysql_list_tables@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x3d3b): undefined reference to
`mysql_data_seek@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x3d46): undefined reference to
`mysql_fetch_row@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x3f46): undefined reference to
`mysql_free_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x431b): undefined reference to
`mysql_num_fields@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4414): undefined reference to
`mysql_fetch_field@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4504): undefined reference to
`mysql_stmt_result_metadata@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4537): undefined reference to
`mysql_free_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4558): undefined reference to
`mysql_next_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4575): undefined reference to
`mysql_stmt_close@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x459b): undefined reference to
`mysql_free_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4654): undefined reference to
`mysql_store_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x49cf): undefined reference to
`mysql_real_query@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4ac0): undefined reference to
`mysql_store_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4ae5): undefined reference to
`mysql_field_count@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4b27): undefined reference to
`mysql_affected_rows@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4bdc): undefined reference to
`mysql_fetch_field_direct@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4c7e): undefined reference to
`mysql_field_count@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4e57): undefined reference to
`mysql_next_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4e7f): undefined reference to
`mysql_store_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4e99): undefined reference to
`mysql_field_count@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4fbb): undefined reference to
`mysql_free_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x50c7): undefined reference to
`mysql_affected_rows@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x515b): undefined reference to
`mysql_fetch_field_direct@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5324): undefined reference to
`mysql_stmt_prepare@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x533d): undefined reference to
`mysql_stmt_param_count@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x53a7): undefined reference to
`mysql_stmt_init@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x556a): undefined reference to
`mysql_stmt_param_count@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5646): undefined reference to
`mysql_stmt_reset@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x584e): undefined reference to
`mysql_stmt_param_count@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x586b): undefined reference to
`mysql_stmt_execute@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x59da): undefined reference to
`mysql_stmt_affected_rows@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5a0e): undefined reference to
`mysql_stmt_bind_result@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5a35): undefined reference to
`mysql_stmt_store_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5a6b): undefined reference to
`mysql_stmt_bind_result@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5ab3): undefined reference to
`mysql_stmt_param_count@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5e18): undefined reference to
`mysql_stmt_bind_param@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x62ab): undefined reference to
`mysql_stmt_attr_set@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x63b2): undefined reference to
`mysql_real_escape_string@16'
D:/Qt/Qt5.4.2/Tools/mingw491_32/bin/../lib/gcc/i686-w64-mingw32/4.9.1/../../../.
./i686-w64-mingw32/bin/ld.exe: .obj/release/qsql_mysql.o: bad reloc address 0x4
in section `.data'
collect2.exe: error: ld returned 1 exit status


然后: cd D:\Qt\Qt5.4.2\5.4\Src\qtbase\src\plugins\sqldrivers\mysql(这个路径因人而异)
然后运行以下命令:qmake "INCLUDEPATH+=D:\mysql\include" "LIBS+=D:\mysql\lib\libmysql.lib" -o Makefile mysql.pro
会生成一下目录:

然后接着运行一下命令:
这里需要注意下 如果你安装了VC6 需要把 VC98名字改掉,任意名字就好不是VC98
然后在运行一下命令:
mingw32-make

等运行完后再运行命令:mingw32-make install

在5.4.2中最后这一步会把驱动直接放在Qt默认调用的目录中:D:\Qt\Qt5.4.2\5.4\mingw491_32\plugins\sqldrivers

现在剩下关键的一步:

现在只是把驱动搞定了mysql的目录中:  D:\mysql\lib\libmysql.dll 拷贝到c:\windows 下即可使用

到现在才算是大功搞成,剩下就是Qt的mysql测试程序了,网上以搜索一大堆的这里不再给出。。。。。




  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值