c 对接 mysql,C ++连接器到MySQL

EDITED:

My Problem is the errors at the bottom of this post.

Heres my additional include directories

C:\Program Files\boost

C:\Program Files\MySQL\MySQL Connector C++ 1.1.3\include

C:\Program Files\MySQL\MySQL Server 5.6\include

Additional Library Directories

C:\Program Files\MySQL\MySQL Server 5.6\lib

C:\Program Files\MySQL\Connector C++ 1.1.2\lib\opt

Additional Dependencies

libmysql.lib

mysqlcppconn-static.lib

Heres my code

#include

#include

#include

using namespace std;

#include

#include

#include

#include "mysql_connection.h"

#include

#define host "localhost"

#define username "root"

#define password "root"

#define database "tests"

int main()

{

MYSQL* conn;

conn = mysql_init( NULL );

if( conn )

{

mysql_real_connect( conn, host, username, password, database, 0, NULL, 0 );

}

MYSQL_RES* res_set;

MYSQL_ROW row;

unsigned int i;

mysql_query( conn, "SELECT * FROM tbl_clients WHERE id = 1" );

res_set = mysql_store_result( conn );

unsigned int numrows = mysql_num_rows( res_set );

if( numrows )

{

row = mysql_fetch_row( res_set );

if( row != NULL )

{

cout << "Client ID : " << row[0] << endl;

cout << "Client Name: " << row[1] << endl;

}

}

if( res_set )

{

mysql_free_result( res_set );

}

if( conn )

{

mysql_close( conn );

}

return 0;

}

These are the errors I get

1>------ Build started: Project: okay, Configuration: Debug Win32 ------

1>welp.obj : error LNK2019: unresolved external symbol _mysql_num_rows@4 referenced in function _main

1>welp.obj : error LNK2019: unresolved external symbol _mysql_init@4 referenced in function _main

1>welp.obj : error LNK2019: unresolved external symbol _mysql_real_connect@32 referenced in function _main

1>welp.obj : error LNK2019: unresolved external symbol _mysql_query@8 referenced in function _main

1>welp.obj : error LNK2019: unresolved external symbol _mysql_store_result@4 referenced in function _main

1>welp.obj : error LNK2019: unresolved external symbol _mysql_free_result@4 referenced in function _main

1>welp.obj : error LNK2019: unresolved external symbol _mysql_fetch_row@4 referenced in function _main

1>welp.obj : error LNK2019: unresolved external symbol _mysql_close@4 referenced in function _main

1>C:\Users\Damian\documents\visual studio 2012\Projects\okay\Debug\okay.exe : fatal error LNK1120: 8 unresolved externals

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Please help, This project is due in about 48 hours for my class, and I've spent so much time trying to figure this out.

Thanks

解决方案

respectfully, your last two questions are compiler/linker questions. I understand your frustration, as I knew how to code early but knew nothing about compilers/linkers. When you get a moment take some time to read about:

headers

binary vs object file

libraries / shared object

compiler

linker

function mangling (C vs C++)

To answer your question, I am guessing you're doing this in Microsoft Visual Studio:

You need to go to Project Properties and set Additional Library Paths (i see you did that from your last post)

You need to specify the library, I'm going out on a limb here and assuming it will mysql.lib ... There's an "Additional Library" input somewhere in the Linker section, you'll be able to identify it because kernel32.lib will be int it. Add the mysql.lib to that section. Confirm the name by going to the mysql folder which holds the binaries.

Make sure you're using the static library, the .dll will give you new issues that you don't need to worry about. This is usually achieved by setting the correct library directory. Many c++ libraries will ship with precompiled "Static" and "Dynamic" folders containing the correct libraries.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值