链接Visual Studio 10中的MySQL库
Linking MySQL libraries in Visual Studio 10
我正在尝试将MySQL与Visual Studio 2010一起使用。我添加了MySQL包含目录:
C: \Program Files\MySQL\MySQL Server 5.5\包含
到VC++目录->包含目录下的项目属性。
并添加:
C: \Program Files\MySQL\MySQL Server 5.5\lib
&
C: \Program Files\MySQL\MySQL Server 5.5\lib\debug
到VC++目录->库目录。
几天前它还在工作,但现在由于以下错误而停止工作:
致命错误LNK1120:7个未解析的外部
有人能帮忙吗,谢谢。
更新:从Include干燥剂中删除了C:\Program Files\MySQL\MySQL Server 5.5\lib\debug目录,然后将以下lib文件添加到Linker->附加依赖项中:
C: \Program Files\MySQL\MySQL Server 5.5\lib\mysqlclient.libC: \Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib
这会产生以下错误:
1> LIBCMT.lib(invarg.obj(:错误LNK2005:__set_invalid_parameter_handler已在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(invarg.obj(中定义:错误LNK2005:__invoke_watson已在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(setlocal.obj(中定义:错误LNK2005:__configthreadlocale已在MSVCRTD.lib(MSVCR100D.dll(中定义1> LIBCMT.lib(crt0dat.obj(:错误LNK2005:__initterm_e已经存在在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(crt0dat.obj(中定义:错误LNK2005:_exit已在MSVCRTD.lib(MSVCR100D.dll(中定义1> LIBCMT.lib(crt0dat.obj(:错误LNK2005:__exit已在中定义MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(crt0dat.obj(:错误LNK2005:__cexit已在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(crt0dat.obj(中定义:错误LNK2005:__amsg_exit已定义在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(dosmap.obj(中:错误LNK2005:__errno已在MSVCRTD.lib(MSVCR100D.dll(中定义1> LIBCMT.lib(file.obj(:错误LNK2005:__iob_func已定义在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(mlock.obj(中:错误LNK2005:__解锁已在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(mlock.obj(中定义:错误LNK2005:__lock已在中定义MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(winxfltr.obj(:错误LNK2005:__Xcpt筛选器已在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(crt0.obj(中定义:错误LNK2005:_mainCRTStartup已存在在MSVCRTD.lib(crtxe.obj(1>LIBCMT.lib(hook.obj(中定义:errorLNK2005:"void __cdecl terminate(void("(?terminate@@YAXXZ(已经存在在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(winsig.obj(中定义:错误LNK2005:信号已在MSVCRTD.lib(MSVCR100D.dll(中定义1> LIBCMT.lib(crt0init.obj(:错误LNK2005:__xi_a已在中定义MSVCRTD.lib(cinitexe.obj(1>LIBCMT.lib(crt0init.obj___xi_z已在MSVCRTD.lib(cinitexe.obj(1>LIBCMT.lib(crt0init.objMSVCRTD.lib(cinitexe.obj(1>LIBCMT.lib(crt0init.obj___xc_z已在MSVCRTD.lib(cinitexe.obj(1>LIBCMT.lib(fflush.obj(中定义:错误LNK2005:_fflush已在中定义MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(atox.obj(:错误LNK2005:atoi已在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(errmode.obj(中定义:错误LNK2005:__set_app_type已存在在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(strtol.obj(中定义:错误LNK2005:_strtol已在MSVCRTD.lib(MSVCR100D.dll(中定义1> LIBCMT.lib(strtol.obj(:错误LNK2005:_strtoul已在中定义MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(strnicmp.obj(:错误LNK2005:__strnicmp已在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(osfinfo.obj(中定义:错误LNK2005:__get_osfhandle已存在在MSVCRTD.lib(MSVCR100D.dll(1>LIBCMT.lib(osfinfo.obj(中定义:错误LNK2005:__open_osfhandle已在中定义MSVCRTD.lib(MSVCR100D.dll(1>链接:警告LNK4098:defaultlib"MSVCRTD"与其他库的使用冲突;使用/NODEFAULTLIB:库1> 链接:警告LNK4098:defaultlib"LIBCMT"与的使用冲突其他libs;使用/NODEFAULTLIB:库
这里的问题是我试图在本地PC上使用Visual Studio来创建和测试用于远程Linux系统的C++程序。我这样做是因为我喜欢VS调试,但它最终造成了更多值得的麻烦。
相反,我现在已经开始在linux服务器上使用GDB,它运行得很好。它的GUI有点少,但它可以工作。
这样一来,编程的时间就多了,在下拉菜单中摆弄设置的时间就少了。
- 无法在C++中建立与MySQL数据库的连接
- 如何使用 QT 和 C++ 侦听 mysql 数据库中的触发事件?
- Visual Studio 2017 中的 MySQL 连接器/C++ 错误"Unresolved external symbol _get_driver_instance"
- 插入MySQL DB中的表之后,错误消息
- 连接到MySQL时如何修复xdev C++ api中的'string too long'错误
- 任何人都知道如何解决尝试将从MySQL数据库返回的行打印到文本文件(.txt)中的C++
- MySQL准备的语句未使用C 连接器在无限环中清理
- 在Windows上的DEBUG,VS2K17上的调试中的MySQL-Connector C 应用程序
- C++ MySQL,使用在同一类内的另一个函数中的一个函数中建立的连接
- 循环中的MySQL连接器/C 错误
- mysql++(mysqlpp):如何在迭代之前通过UseQueryResult使用fetch_row获取结果中的行数
- MySQL 使用一组列中的数据更新列,以非零值为准
- Visual C 如何在MySQL中找到列的名称
- MySQL C 连接器中的内存泄漏
- MySQL C API:如何使用 mysql_fetch_row() 中的行
- 使用 valgrind 查找 mysql c++ 客户端中的内存泄漏
- 在 MySQL 中使用 MFC 对话框基础应用的C++插入一行
- C++executeQuery()在显示表中的MySQL数据时出错
- 什么是c++ mysql中的分段错误?
- 调用mysql_close获取堆栈损坏,这是MySQL中的一个bug吗?