【问题标题】:Mysql connection with Visual C++Mysql 与 Visual C++ 的连接
【发布时间】:2014-07-14 18:45:24
【问题描述】:

我已经花了 4 天时间试图了解如何从 VS 2012 连接。我的程序是用 C++ 编写的,它连接到 Mysql 并从文本文件中插入记录。问题:1)我无法编译,它给了我链接错误:

1>DataTransformXYZtoDatabase.obj:错误 LNK2001:无法解析的外部符号 _mysql_close@4 1>DataTransformXYZtoDatabase.obj : 错误 LNK2001: 无法解析的外部符号 _mysql_query@8 1>DataTransformXYZtoDatabase.obj : 错误 LNK2001: 无法解析的外部符号 _mysql_real_connect@32 1>DataTransformXYZtoDatabase.obj : error LNK2001: unresolved external symbol _mysql_init@4

所以我做了什么。我使用了静态库。我的行动:

  1. 我在发布模式下创建了win32控制台应用程序

  2. 在附加包含目录中添加了 MySQL 包含/目录。 (C:\MySQL\MySQL Server 5.6\include)

  3. 链接/常规/附加库目录/我写了 C:\Program Files\MySQL\MySQL Server 5.6\lib\opt

  4. 比链接/输入我写的 mysqlcppconn-static.lib и libmysql.lib.

  5. C++/预处理器我写了 CPPCONN_PUBLIC_FUNC=

  6. 我还将 mysqlcppconn-static.lib и libmysql.lib 添加到我的 exe 文件目录中。

我包含以下标题:

#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <string> 
#include <boost\lexical_cast.hpp>
#include <mysql.h>
#include <windows.h>
//#include "my_global.h"
// MySQL connection
//#include <winSock2.h>
#include <winSock.h>
#include <mysql.h>
#pragma comment(lib, "libmysql.lib")

如果可以,请帮助我。谢谢。

【问题讨论】:

  • 在 StackOverflow 中搜索 MySql C++。我已经回答了一个帖子,其中列出了您需要链接的库。您将希望更改项目设置,而不是使用 #pragma comment

标签: c++ mysql visual-studio-2012 database-connection


【解决方案1】:

我也花了 2 天,这是解决方案。我使用了 Visual c++ 应用程序而不是控制台应用程序(唯一的区别是定义了 include 和 lib 目录)

  1. 创建应用程序
  2. 添加包含目录(属性->VC++目录->包含目录)
  3. 添加lib目录(属性->VC++目录->库目录)
  4. 然后属性->链接器->输入->附加依赖-> libmysql.lib
  5. 将 libmysql.dll(32 位)复制到应用程序的可执行文件目录


就是这样!不要添加任何预处理器命令或静态库。

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 2011-09-19
    • 2014-06-23
    • 1970-01-01
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多