[英]Can't Link MySQL in a C++ Program in Visual Studio 2015
我正在尝试编译一个非常简单的程序,以使用一个简单的数据库表测试我的MySQL安装。 我是MySQL的新手,并且是相对没有经验的程序员,因此它可能是一个非常简单的设置/链接问题:
#include <iostream>
#include <memory>
#include <string>
#include <cppconn/driver.h>
#include <cppconn/connection.h>
#include <cppconn/resultset.h>
using namespace std;
using namespace sql;
#define DBHOST "tcp://127.0.0.1:3306"
#define USER "root"
#define PASSWORD ""
#define DATABASE "mydb"
int main()
{
Driver *driver;
Connection *con;
Statement *stmt;
ResultSet *res;
std::string user(USER);
std::string dbhost(DBHOST);
std::string password(PASSWORD);
driver = get_driver_instance();
//con = driver->connect(dbhost, user, password);
//con->setSchema(DATABASE);
return 0;
}
我已经安装了最新的MySQL软件包,并在以下位置包含了包含文件和库文件:C:\\ Program Files \\ MySQL \\ Connector.C ++ 1.1 \\ include C:\\ Program Files \\ MySQL \\ Connector.C ++ 1.1 \\ lib \\ opt
我已将上述包含路径添加到“配置属性”中VC + =目录菜单下的“包含目录”中,并将上述库路径添加到了同一选项卡上“库目录”中的上述库路径中。
另外,我在“链接器输入”页面中将mysqlcppconn.lib添加为“其他依赖项”。
编译时出现LNK 2019“函数_main中引用的未解析的外部符号__imp__get_driver_instance”错误...
我怀疑这是我不知道的根本问题!
好。 因此,经过一天的闲逛,我将安装了MySQL的两个位置(默认的Program Files目录和Program Files(x86)目录)的头文件和库都移到了MySQL / include和MySQL / lib以及我的项目目录中的MySQL(x86)/ include和MySQL(x86)/ lib。
我尝试在Visual Studio 2015中的各个位置依次链接到这些文件。该程序已编译链接到x86版本。
我唯一没有意识到的是,我需要项目的运行目录中的mysqlcppconn.dll才能正确加载。 一旦我搜索了这个程序,程序就会加载并成功运行!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.