Stati c link MySQL X DevAPI в проекте Visual Studio - PullRequest
0 голосов
/ 11 апреля 2020

Я хочу использовать MySQL X DevApi (C ++ Connector) и после выполнения всего, что написано в документации, я все еще не могу построить свой проект.

Что я сделал в свойствах проекта (Выпуск x64) :

C/C++ => General => Additional Include directoris => Added C:\Program Files\MySQL\Connector C++ 8.0\include

C/C++ => Preprocessor => Preprocessor Definitions => Added STATIC_CONCPP

C/C++ => Code Generation => Runtime Library => Picked Multi-threaded DLL (/MD)

Linker => General => Additional Library Directories => Added C:\Program Files\MySQL\Connector C++ 8.0\lib64\vs14

Linker => Input => Additional Dependiencies => Added mysqlcppconn8-static.lib

и при этом я все еще получаю эти ошибки (мой проект называется doesItWork):

Severity    Code    Description Project File    Line    Suppression State
Error   LNK2001 unresolved external symbol DnsFree  doesItWork  C:\Users\Robert\source\repos\doesItWork\doesItWork\mysqlcppconn8-static.lib(socket_detail.obj)  1   
Error   LNK2001 unresolved external symbol DnsQuery_A   doesItWork  C:\Users\Robert\source\repos\doesItWork\doesItWork\mysqlcppconn8-static.lib(socket_detail.obj)  1   
Error   LNK1120 2 unresolved externals  doesItWork  C:\Users\Robert\source\repos\doesItWork\x64\Release\doesItWork.exe  1   

Поскольку они исходят от socket_detail.obj, я пытался добавление libcrypto.lib и libssl.lib в качестве документации иногда упоминает (из C:\Program Files\MySQL\Connector C++ 8.0\lib64\vs14), но ошибка все еще появляется.

Я использую Microsoft Visual Studio Community 2019, и мой проект и "Oracle Connector" оба для x64 Release.

Пока мой код выглядит так (по сути ничего не делает):

#include <iostream>
#include <mysqlx/xdevapi.h>
using namespace std;
using namespace mysqlx;

int main()
{
    Session sess("localhost", 33060, "root", "root");
    Schema db = sess.getSchema("mytestdb");
    cout << "hey!" << endl;
}

1 Ответ

0 голосов
/ 11 апреля 2020

Решение было добавить Dnsapi.lib.

...