Как сделать DLL-файл C++, который связывается с mysql api
здравствуйте и добрый день...
я пытаюсь создать dll-файл на c++ и связать его с mysql api
я уже ссылку lib и заголовочный MySQL для визуальной студии
когда я пытаюсь его построить..
я получил эти сообщения об ошибках :
Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol _mysql_init@4 referenced in function "public: void __thiscall MySQLConnector::openConnection(void)" (?openConnection@MySQLConnector@@QAEXXZ) MySQLConnectorDLL C:\Users\user\Desktop\MySQLConnectorDLL\MySQLConnectorDLL\MySQLConnector.obj 1
Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol _mysql_real_connect@32 referenced in function "public: void __thiscall MySQLConnector::openConnection(void)" (?openConnection@MySQLConnector@@QAEXXZ) MySQLConnectorDLL C:\Users\user\Desktop\MySQLConnectorDLL\MySQLConnectorDLL\MySQLConnector.obj 1
Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol _mysql_close@4 referenced in function "public: void __thiscall MySQLConnector::closeConnection(void)" (?closeConnection@MySQLConnector@@QAEXXZ) MySQLConnectorDLL C:\Users\user\Desktop\MySQLConnectorDLL\MySQLConnectorDLL\MySQLConnector.obj 1
Severity Code Description Project File Line Suppression State Error LNK1120 3 unresolved externals MySQLConnectorDLL C:\Users\user\Desktop\MySQLConnectorDLL\Debug\MySQLConnectorDLL.dll 1
Что я уже пробовал:
то, что я сделал в своем коде, это :
в моем заголовочном файле :
#pragma once #include "mysql.h" class MySQLConnector { public : void openConnection(); void closeConnection(); bool connectionStatus(); private : bool _connectionStatus; MYSQL *_con, *_connectionString; };
в моем файле cpp
#pragma once #include "C:\BookScanner\extension\cpp files\header\CppMySQL.h" #include <mysql.h> void MySQLConnector::openConnection(){ _con = mysql_init(NULL); _connectionString = mysql_real_connect(_con, "localhost", "root", "", "bookbardatabase", 3306, NULL, 0); _connectionStatus = _connectionString ? true: false; } void MySQLConnector::closeConnection() { mysql_close(_con); } bool MySQLConnector::connectionStatus() { return _connectionStatus; }
и это мой dll-файл, я не смог его построить
#include "C:\BookScanner\extension\cpp files\header\CppMySQL.h" #include "C:\BookScanner\extension\cpp files\cpp\CppMySQL.cpp" MySQLConnector connector; extern "C" __declspec(dllexport) void openConnection() { connector.openConnection(); } extern "C" __declspec(dllexport) void closeConnection() { connector.closeConnection(); } extern "C" __declspec(dllexport) bool connectionStatus() { return connector.connectionStatus(); }
Richard MacCutchan
Вы забыли включить библиотеку MySQL в процесс сборки.