Visual Studio C++连接到MYSQL服务器
问题描述:
当T尝试运行我的C++程序连接到MYSQL服务器时,出现错误。这是我的代码。Visual Studio C++连接到MYSQL服务器
#include "stdafx.h"
#include <opencv2/highgui/highgui.hpp>
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/opencv.hpp"
#include <cmath>
#include <iostream>
#include "my_global.h"
#include "mysql.h"
int main() {MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "server";
char *user = "user";
char *password = "password"; // got tot keep my data secret
char *database = "cpp_test";
conn = mysql_init(NULL);
// connect to database
if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0))
{
fprintf(stderr, "%s\n", mysql_error(conn));
return -1;
}
// send SQL query
if(mysql_query(conn, "select * from cpp_testTAB"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
return -1;
}
res = mysql_use_result(conn);
// output table name
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
{
printf("%s %s %s %s\n", row[0], row[1], row[2], row[3]);
}
// close connection
mysql_free_result(res);
mysql_close(conn);
return 0;
}
这里是我另外包括目录
C:\Program Files (x86)\MySQL\MySQL Server 5.6\include
C:\Program Files (x86)\MySQL\Connector.C++ 1.1\include
附加库目录
C:\Program Files (x86)\MySQL\MySQL Server 5.6\lib
C:\Program Files (x86)\MySQL\Connector.C++ 1.1\lib\opt
附加依赖
libmysql.lib
mysqlcppconn-static.lib
有,我有,当我尝试错误跑 该程序。
Error 1 error LNK2019: unresolved external symbol mysql_close referenced in function main
Error 2 error LNK2019: unresolved external symbol mysql_free_result referenced in function main
Error 3 error LNK2019: unresolved external symbol mysql_fetch_row referenced in function main
Error 4 error LNK2019: unresolved external symbol mysql_use_result referenced in function main
Error 5 error LNK2019: unresolved external symbol mysql_query referenced in function main
Error 6 error LNK2019: unresolved external symbol mysql_error referenced in function main
Error 7 error LNK2019: unresolved external symbol mysql_real_connect referenced in function main
Error 8 error LNK2019: unresolved external symbol mysql_init referenced in function main
Error 9 error LNK1120: 8 unresolved externals C:\Users\Lahiru\documents\visual studio 2010\Projects\Level4-Project\x64\Debug\Level4-Project.exe
我无法解决此问题。如果任何人都可以向我展示错误或示例教程链接,那将很棒。
答
问题似乎是您正在构建64位应用程序,但提供了32位库。是什么让这个印象是这两条线:
Error 9 error LNK1120: 8 unresolved externals
C:\Users\Lahiru\documents\visual studio 2010\Projects\Level4-Project\x64\Debug\Level4-Project.exe
这:
C:\Program Files (x86)\MySQL\MySQL Server 5.6\lib
第一行有x64
路径,但第二行显示您所寻找的库32位版本由于Program Files (x86)
路径。
因此,请确保您的64位库与64位应用程序链接,或者将您的应用程序更改为32位并与32位库链接。
看看最后一个错误。它在路径中有'x64',而在其他错误中有'Program Files(x86)'。看起来你已经混淆了32位和64位版本。 – PaulMcKenzie 2014-10-12 13:59:52
我评论了mysql连接代码,其他代码将用于'x64',并且我已经为'x64'安装了所有的mysql库。但我认为你说的是对的。我怎样才能解决这个问题 ?我有x64 machaine – user3565768 2014-10-12 14:08:53
如果它是一个64位应用程序,那么这些库必须是64位的。同样,这些库的路径对我来说是非常可疑的,因为它们被放置在32位应用程序使用的目录中。 – PaulMcKenzie 2014-10-12 14:10:56