gpt4 book ai didi

c++ - Visual Studio 2010 - 链接 MySQL

转载 作者:搜寻专家 更新时间:2023-10-31 01:55:03 25 4
gpt4 key购买 nike

我给自己安排了一个项目来熟悉 Windows 编程和 Visual Studio。我无法链接到 MySQL 库,因此无法在我的项目中使用它。我不断收到 LNK2019 错误,这很可能意味着我没有正确链接 .lib 文件。我已经将其配置设置为包含包含目录和库目录。 (我还尝试了设置 VC++ 目录和 C/C++/链接器的不同组合。)

Error   1   error LNK2019: unresolved external symbol _mysql_real_connect@32 referenced in function "public: void __thiscall Database::connect_db(void)" (?connect_db@Database@@QAEXXZ) D:\Media\Documents\Visual Studio 2010\Projects\swtPrice Server\swtPrice Server\Database.obj
Error 2 error LNK2019: unresolved external symbol _mysql_init@4 referenced in function "public: void __thiscall Database::connect_db(void)" (?connect_db@Database@@QAEXXZ) D:\Media\Documents\Visual Studio 2010\Projects\swtPrice Server\swtPrice Server\Database.obj
Error 3 error LNK1120: 2 unresolved externals D:\Media\Documents\Visual Studio 2010\Projects\swtPrice Server\Debug\swtPrice Server.exe 1

这是我在网上复制并尝试编译的一段代码:

MYSQL *connection, mysql;
MYSQL_RES *result;
MYSQL_ROW row;
int query_state;

mysql_init(&mysql);
//connection = mysql_real_connect(&mysql,"host","user","password","database",0,0,0);
connection = mysql_real_connect(&mysql,"localhost","bainm","not_telling","cpp_data",0,0,0);
if (connection == NULL) {
//cout << mysql_error(&mysql) << endl;
//return 1;
}

我将我的项目配置为包含 MySQL 的包含目录。这是在 C/C++ 选项卡下的命令行中的样子:

/I"D:\Program Files\MySQL\MySQL Server 5.5\include" /ZI /nologo /W1 /WX- /Od /Oy- /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yu"StdAfx.h" /Fp"Debug\swtPrice Server.pch" /Fa"Debug\" /Fo"Debug\" /Fd"Debug\vc100.pdb" /Gd /analyze- /errorReport:queue 

我配置了 MySQL 的库目录。这是它在链接器下的命令行中的样子:

/OUT:"D:\Media\Documents\Visual Studio 2010\Projects\swtPrice Server\Debug\swtPrice Server.exe" /NOLOGO /LIBPATH:"D:\Program Files\MySQL\MySQL Server 5.5\lib" "D:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /MANIFEST /ManifestFile:"Debug\swtPrice Server.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"D:\Media\Documents\Visual Studio 2010\Projects\swtPrice Server\Debug\swtPrice Server.pdb" /SUBSYSTEM:CONSOLE /PGD:"D:\Media\Documents\Visual Studio 2010\Projects\swtPrice Server\Debug\swtPrice Server.pgd" /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:QUEUE

这是 mySQL 库目录的样子:

 Directory of D:\Program Files\MySQL\MySQL Server 5.5\lib

05/06/2011 10:38 AM <DIR> .
05/06/2011 10:38 AM <DIR> ..
05/06/2011 10:38 AM <DIR> debug
03/31/2011 04:53 PM 4,177,408 libmysql.dll
03/31/2011 04:53 PM 23,920 libmysql.lib
03/31/2011 04:52 PM 10,625,266 mysqlclient.lib
05/06/2011 10:38 AM <DIR> plugin

感谢任何帮助。提前感谢您的帮助。

最佳答案

我遇到了同样的问题,即在 VisualStudio2010 中获取所有 mysql api 函数的链接错误。我确认问题是由于在 Visual Studio 中使用 32 位目标和 64 位构建的 MySQL。我在我的构建配置中添加了一个 x64 构建,并且它没有任何错误地链接

关于c++ - Visual Studio 2010 - 链接 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8844918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com