savoirfairelinux / opendht

OpenDHT: a C++17 Distributed Hash Table implementation
GNU General Public License v3.0
1.01k stars 173 forks source link

Error building on Windows with MSYS2 MinGW64: undefined reference to `dht::crypto::random_device::*` #536

Open leyyce opened 3 years ago

leyyce commented 3 years ago

I'm trying to compile OpenDHT for Windows but having a hard time because of the lack of build instructions and documentation. From what I get building for Windows once was supported but was abandoned and removed from the docs? Neither the replies to #304 nor #415 were of any help because it looks like the build chain of Ring and Jami has changed over the years and doesn't explain much either. I'm not new to programming but not that proficient with C++ or its build systems either, so you probably can imagine that getting an idea where to start and troubleshooting this was pretty overwhelming.

My first problem was with the dependencies. If I want to use the Microsoft C++ compiler I need the dependencies compiled with it too, right? Would that mean that I have to compile all dependencies myself? Because it seemed to much work before even knowing if the build would succeed that way, I did not try that yet.

Instead I'm now trying to use MSYS2s MinGW64 environment because the dependencies are available as pre-compiled packages there. After setting up MSYS2 and installing all the dependencies, I managed to create the Makefiles using CMake successfully:

$ cmake -G "Ninja" -DCMAKE_INSTALL_PREFIX=/mingw64 ..

-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/tools/msys64/mingw64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/tools/msys64/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: C:/tools/msys64/mingw64/bin/pkg-config.exe (found version "0.29.2")
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found GnuTLS: C:/tools/msys64/mingw64/lib/libgnutls.dll.a (Required is at least version "3.3")
-- Checking for one of the modules 'nettle'
-- Found Msgpack: C:/tools/msys64/mingw64/lib/libmsgpackc.dll.a (found suitable version "3.3.0", minimum required is "1.2")
-- Found Readline: C:/tools/msys64/mingw64/lib/libreadline.dll.a (Required is at least version "6")
-- Checking for one of the modules 'libargon2'
-- Found Argon2: C:/tools/msys64/mingw64/lib (found version "20190702")
-- Checking for one of the modules 'jsoncpp'
-- Configuring done
-- Generating done
-- Build files have been written to: F:/Coding/C++/opendht/build

After starting the build with ninja, the compilation finishes successfully, but with some warnings:

[1/48] Building CXX object CMakeFiles/opendht.dir/src/base64.cpp.obj
[2/48] Building CXX object CMakeFiles/opendht.dir/src/network_utils.cpp.obj
In file included from ../include/opendht/network_utils.h:22,
                 from ../src/network_utils.cpp:19:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/network_utils.h:24,
                 from ../src/network_utils.cpp:19:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
../src/network_utils.cpp: In member function 'virtual int dht::net::UdpSocket::sendTo(const dht::SockAddr&, const uint8_t*, size_t, bool)':
../src/network_utils.cpp:133:80: warning: unused parameter 'replied' [-Wunused-parameter]
  133 | UdpSocket::sendTo(const SockAddr& dest, const uint8_t* data, size_t size, bool replied) {
      |                                                                           ~~~~~^~~~~~~
[3/48] Building CXX object CMakeFiles/opendht.dir/src/node_cache.cpp.obj
In file included from ../include/opendht/node.h:24,
                 from ../include/opendht/node_cache.h:21,
                 from ../src/node_cache.cpp:19:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[4/48] Building CXX object CMakeFiles/opendht.dir/src/thread_pool.cpp.obj
[5/48] Building CXX object CMakeFiles/opendht.dir/src/log.cpp.obj
In file included from ../include/opendht/log.h:23,
                 from ../src/log.cpp:20:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/dhtrunner.h:25,
                 from ../src/log.cpp:21:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
../src/log.cpp: In function 'std::shared_ptr<dht::Logger> dht::log::getSyslogLogger(const char*)':
../src/log.cpp:89:29: warning: unused parameter 'name' [-Wunused-parameter]
   89 | getSyslogLogger(const char* name) {
      |                 ~~~~~~~~~~~~^~~~
[6/48] Building CXX object CMakeFiles/opendht.dir/src/utils.cpp.obj
In file included from ../src/utils.cpp:24:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[7/48] Building CXX object CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/dhtrunner.h:25,
                 from ../src/dhtrunner.cpp:25:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/dhtrunner.h:28,
                 from ../src/dhtrunner.cpp:25:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
../src/dhtrunner.cpp: In member function 'void dht::DhtRunner::setProxyServer(const string&, const string&)':
../src/dhtrunner.cpp:1082:72: warning: unused parameter 'pushNodeId' [-Wunused-parameter]
 1082 | DhtRunner::setProxyServer(const std::string& proxy, const std::string& pushNodeId)
      |                                                     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
[8/48] Building CXX object CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj
In file included from ../include/opendht/peer_discovery.h:23,
                 from ../src/peer_discovery.cpp:21:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/peer_discovery.h:25,
                 from ../src/peer_discovery.cpp:21:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
[9/48] Building CXX object CMakeFiles/opendht.dir/src/securedht.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/dht.h:24,
                 from ../include/opendht/securedht.h:23,
                 from ../src/securedht.cpp:24:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/network_engine.h:30,
                 from ../include/opendht/dht.h:26,
                 from ../include/opendht/securedht.h:23,
                 from ../src/securedht.cpp:24:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
[10/48] Building CXX object CMakeFiles/opendht.dir/src/network_engine.cpp.obj
In file included from ../include/opendht/node.h:24,
                 from ../include/opendht/node_cache.h:21,
                 from ../include/opendht/network_engine.h:22,
                 from ../src/network_engine.cpp:20:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/network_engine.h:30,
                 from ../src/network_engine.cpp:20:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
../src/network_engine.cpp: In static member function 'static bool dht::net::NetworkEngine::isMartian(const dht::SockAddr&)':
../src/network_engine.cpp:377:30: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  377 |         if (addr.getLength() < sizeof(sockaddr_in6))
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
[11/48] Building CXX object CMakeFiles/opendht.dir/src/infohash.cpp.obj
[12/48] Building CXX object CMakeFiles/opendht.dir/src/node.cpp.obj
In file included from ../include/opendht/node.h:24,
                 from ../src/node.cpp:21:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[13/48] Building CXX object CMakeFiles/opendht.dir/src/callbacks.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/callbacks.h:24,
                 from ../src/callbacks.cpp:23:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[14/48] Building CXX object CMakeFiles/opendht-static.dir/src/utils.cpp.obj
In file included from ../src/utils.cpp:24:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[15/48] Building CXX object CMakeFiles/opendht.dir/src/default_types.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/default_types.h:21,
                 from ../src/default_types.cpp:19:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[16/48] Building CXX object CMakeFiles/opendht.dir/src/routing_table.cpp.obj
In file included from ../include/opendht/node.h:24,
                 from ../include/opendht/routing_table.h:22,
                 from ../src/routing_table.cpp:19:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/network_engine.h:30,
                 from ../src/routing_table.cpp:21:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
[17/48] Building CXX object CMakeFiles/opendht.dir/src/crypto.cpp.obj
../src/crypto.cpp: In function 'dht::Blob dht::crypto::aesEncrypt(const uint8_t*, size_t, const Blob&)':
../src/crypto.cpp:111:49: warning: 'void nettle_gcm_aes_set_key(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  111 |     gcm_aes_set_key(&aes, key.size(), key.data());
      |                                                 ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:268:1: note: declared here
  268 | gcm_aes_set_key(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
../src/crypto.cpp:112:49: warning: 'void nettle_gcm_aes_set_iv(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  112 |     gcm_aes_set_iv(&aes, GCM_IV_SIZE, ret.data());
      |                                                 ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:272:1: note: declared here
  272 | gcm_aes_set_iv(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
../src/crypto.cpp:114:43: warning: 'void nettle_gcm_aes_update(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  114 |     gcm_aes_update(&aes, data_length, data);
      |                                           ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:276:1: note: declared here
  276 | gcm_aes_update(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
../src/crypto.cpp:117:70: warning: 'void nettle_gcm_aes_encrypt(gcm_aes_ctx*, size_t, uint8_t*, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  117 |     gcm_aes_encrypt(&aes, data_length, ret.data() + GCM_IV_SIZE, data);
      |                                                                      ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:280:1: note: declared here
  280 | gcm_aes_encrypt(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
../src/crypto.cpp:118:81: warning: 'void nettle_gcm_aes_digest(gcm_aes_ctx*, size_t, uint8_t*)' is deprecated [-Wdeprecated-declarations]
  118 |     gcm_aes_digest(&aes, GCM_DIGEST_SIZE, ret.data() + GCM_IV_SIZE + data_length);
      |                                                                                 ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:290:1: note: declared here
  290 | gcm_aes_digest(struct gcm_aes_ctx *ctx, size_t length, uint8_t *digest)
      | ^~~~~~~~~~~~~~
../src/crypto.cpp: In function 'dht::Blob dht::crypto::aesDecrypt(const Blob&, const Blob&)':
../src/crypto.cpp:142:49: warning: 'void nettle_gcm_aes_set_key(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  142 |     gcm_aes_set_key(&aes, key.size(), key.data());
      |                                                 ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:268:1: note: declared here
  268 | gcm_aes_set_key(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
../src/crypto.cpp:143:50: warning: 'void nettle_gcm_aes_set_iv(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  143 |     gcm_aes_set_iv(&aes, GCM_IV_SIZE, data.data());
      |                                                  ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:272:1: note: declared here
  272 | gcm_aes_set_iv(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
../src/crypto.cpp:147:73: warning: 'void nettle_gcm_aes_decrypt(gcm_aes_ctx*, size_t, uint8_t*, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  147 |     gcm_aes_decrypt(&aes, data_sz, ret.data(), data.data() + GCM_IV_SIZE);
      |                                                                         ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:285:1: note: declared here
  285 | gcm_aes_decrypt(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
../src/crypto.cpp:148:56: warning: 'void nettle_gcm_aes_digest(gcm_aes_ctx*, size_t, uint8_t*)' is deprecated [-Wdeprecated-declarations]
  148 |     gcm_aes_digest(&aes, GCM_DIGEST_SIZE, digest.data());
      |                                                        ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:290:1: note: declared here
  290 | gcm_aes_digest(struct gcm_aes_ctx *ctx, size_t length, uint8_t *digest)
      | ^~~~~~~~~~~~~~
../src/crypto.cpp:155:55: warning: 'void nettle_gcm_aes_set_key(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  155 |         gcm_aes_set_key(&aes_d, key.size(), key.data());
      |                                                       ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:268:1: note: declared here
  268 | gcm_aes_set_key(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
../src/crypto.cpp:156:56: warning: 'void nettle_gcm_aes_set_iv(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  156 |         gcm_aes_set_iv(&aes_d, GCM_IV_SIZE, data.data());
      |                                                        ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:272:1: note: declared here
  272 | gcm_aes_set_iv(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
../src/crypto.cpp:157:54: warning: 'void nettle_gcm_aes_update(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  157 |         gcm_aes_update(&aes_d, ret.size(), ret.data());
      |                                                      ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:276:1: note: declared here
  276 | gcm_aes_update(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
../src/crypto.cpp:158:71: warning: 'void nettle_gcm_aes_encrypt(gcm_aes_ctx*, size_t, uint8_t*, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  158 |         gcm_aes_encrypt(&aes_d, ret.size(), ret_tmp.data(), ret.data());
      |                                                                       ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:280:1: note: declared here
  280 | gcm_aes_encrypt(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
../src/crypto.cpp:159:62: warning: 'void nettle_gcm_aes_digest(gcm_aes_ctx*, size_t, uint8_t*)' is deprecated [-Wdeprecated-declarations]
  159 |         gcm_aes_digest(&aes_d, GCM_DIGEST_SIZE, digest.data());
      |                                                              ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:290:1: note: declared here
  290 | gcm_aes_digest(struct gcm_aes_ctx *ctx, size_t length, uint8_t *digest)
      | ^~~~~~~~~~~~~~
[18/48] Building CXX object CMakeFiles/opendht.dir/src/op_cache.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../src/op_cache.h:20,
                 from ../src/op_cache.cpp:18:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[19/48] Building CXX object CMakeFiles/opendht-static.dir/src/base64.cpp.obj
[20/48] Building CXX object CMakeFiles/opendht-static.dir/src/infohash.cpp.obj
[21/48] Building CXX object CMakeFiles/opendht.dir/src/value.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../src/value.cpp:24:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/network_engine.h:30,
                 from ../include/opendht/dht.h:26,
                 from ../include/opendht/securedht.h:23,
                 from ../src/value.cpp:27:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
[22/48] Building CXX object CMakeFiles/opendht-static.dir/src/node.cpp.obj
In file included from ../include/opendht/node.h:24,
                 from ../src/node.cpp:21:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[23/48] Building CXX object CMakeFiles/opendht-static.dir/src/default_types.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/default_types.h:21,
                 from ../src/default_types.cpp:19:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[24/48] Building CXX object CMakeFiles/opendht-static.dir/src/routing_table.cpp.obj
In file included from ../include/opendht/node.h:24,
                 from ../include/opendht/routing_table.h:22,
                 from ../src/routing_table.cpp:19:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/network_engine.h:30,
                 from ../src/routing_table.cpp:21:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
[25/48] Building CXX object CMakeFiles/opendht-static.dir/src/crypto.cpp.obj
../src/crypto.cpp: In function 'dht::Blob dht::crypto::aesEncrypt(const uint8_t*, size_t, const Blob&)':
../src/crypto.cpp:111:49: warning: 'void nettle_gcm_aes_set_key(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  111 |     gcm_aes_set_key(&aes, key.size(), key.data());
      |                                                 ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:268:1: note: declared here
  268 | gcm_aes_set_key(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
../src/crypto.cpp:112:49: warning: 'void nettle_gcm_aes_set_iv(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  112 |     gcm_aes_set_iv(&aes, GCM_IV_SIZE, ret.data());
      |                                                 ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:272:1: note: declared here
  272 | gcm_aes_set_iv(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
../src/crypto.cpp:114:43: warning: 'void nettle_gcm_aes_update(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  114 |     gcm_aes_update(&aes, data_length, data);
      |                                           ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:276:1: note: declared here
  276 | gcm_aes_update(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
../src/crypto.cpp:117:70: warning: 'void nettle_gcm_aes_encrypt(gcm_aes_ctx*, size_t, uint8_t*, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  117 |     gcm_aes_encrypt(&aes, data_length, ret.data() + GCM_IV_SIZE, data);
      |                                                                      ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:280:1: note: declared here
  280 | gcm_aes_encrypt(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
../src/crypto.cpp:118:81: warning: 'void nettle_gcm_aes_digest(gcm_aes_ctx*, size_t, uint8_t*)' is deprecated [-Wdeprecated-declarations]
  118 |     gcm_aes_digest(&aes, GCM_DIGEST_SIZE, ret.data() + GCM_IV_SIZE + data_length);
      |                                                                                 ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:290:1: note: declared here
  290 | gcm_aes_digest(struct gcm_aes_ctx *ctx, size_t length, uint8_t *digest)
      | ^~~~~~~~~~~~~~
../src/crypto.cpp: In function 'dht::Blob dht::crypto::aesDecrypt(const Blob&, const Blob&)':
../src/crypto.cpp:142:49: warning: 'void nettle_gcm_aes_set_key(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  142 |     gcm_aes_set_key(&aes, key.size(), key.data());
      |                                                 ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:268:1: note: declared here
  268 | gcm_aes_set_key(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
../src/crypto.cpp:143:50: warning: 'void nettle_gcm_aes_set_iv(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  143 |     gcm_aes_set_iv(&aes, GCM_IV_SIZE, data.data());
      |                                                  ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:272:1: note: declared here
  272 | gcm_aes_set_iv(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
../src/crypto.cpp:147:73: warning: 'void nettle_gcm_aes_decrypt(gcm_aes_ctx*, size_t, uint8_t*, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  147 |     gcm_aes_decrypt(&aes, data_sz, ret.data(), data.data() + GCM_IV_SIZE);
      |                                                                         ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:285:1: note: declared here
  285 | gcm_aes_decrypt(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
../src/crypto.cpp:148:56: warning: 'void nettle_gcm_aes_digest(gcm_aes_ctx*, size_t, uint8_t*)' is deprecated [-Wdeprecated-declarations]
  148 |     gcm_aes_digest(&aes, GCM_DIGEST_SIZE, digest.data());
      |                                                        ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:290:1: note: declared here
  290 | gcm_aes_digest(struct gcm_aes_ctx *ctx, size_t length, uint8_t *digest)
      | ^~~~~~~~~~~~~~
../src/crypto.cpp:155:55: warning: 'void nettle_gcm_aes_set_key(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  155 |         gcm_aes_set_key(&aes_d, key.size(), key.data());
      |                                                       ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:268:1: note: declared here
  268 | gcm_aes_set_key(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
../src/crypto.cpp:156:56: warning: 'void nettle_gcm_aes_set_iv(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  156 |         gcm_aes_set_iv(&aes_d, GCM_IV_SIZE, data.data());
      |                                                        ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:272:1: note: declared here
  272 | gcm_aes_set_iv(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
../src/crypto.cpp:157:54: warning: 'void nettle_gcm_aes_update(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  157 |         gcm_aes_update(&aes_d, ret.size(), ret.data());
      |                                                      ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:276:1: note: declared here
  276 | gcm_aes_update(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
../src/crypto.cpp:158:71: warning: 'void nettle_gcm_aes_encrypt(gcm_aes_ctx*, size_t, uint8_t*, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  158 |         gcm_aes_encrypt(&aes_d, ret.size(), ret_tmp.data(), ret.data());
      |                                                                       ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:280:1: note: declared here
  280 | gcm_aes_encrypt(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
../src/crypto.cpp:159:62: warning: 'void nettle_gcm_aes_digest(gcm_aes_ctx*, size_t, uint8_t*)' is deprecated [-Wdeprecated-declarations]
  159 |         gcm_aes_digest(&aes_d, GCM_DIGEST_SIZE, digest.data());
      |                                                              ^
In file included from ../src/crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:290:1: note: declared here
  290 | gcm_aes_digest(struct gcm_aes_ctx *ctx, size_t length, uint8_t *digest)
      | ^~~~~~~~~~~~~~
[26/48] Building CXX object CMakeFiles/opendht-static.dir/src/callbacks.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/callbacks.h:24,
                 from ../src/callbacks.cpp:23:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[27/48] Building CXX object CMakeFiles/opendht-static.dir/src/op_cache.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../src/op_cache.h:20,
                 from ../src/op_cache.cpp:18:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[28/48] Building CXX object CMakeFiles/opendht-static.dir/src/value.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../src/value.cpp:24:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/network_engine.h:30,
                 from ../include/opendht/dht.h:26,
                 from ../include/opendht/securedht.h:23,
                 from ../src/value.cpp:27:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
[29/48] Building CXX object CMakeFiles/opendht-static.dir/src/node_cache.cpp.obj
In file included from ../include/opendht/node.h:24,
                 from ../include/opendht/node_cache.h:21,
                 from ../src/node_cache.cpp:19:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[30/48] Building CXX object CMakeFiles/opendht-static.dir/src/thread_pool.cpp.obj
[31/48] Building CXX object CMakeFiles/opendht-static.dir/src/securedht.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/dht.h:24,
                 from ../include/opendht/securedht.h:23,
                 from ../src/securedht.cpp:24:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/network_engine.h:30,
                 from ../include/opendht/dht.h:26,
                 from ../include/opendht/securedht.h:23,
                 from ../src/securedht.cpp:24:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
[32/48] Building CXX object CMakeFiles/opendht-static.dir/src/network_utils.cpp.obj
In file included from ../include/opendht/network_utils.h:22,
                 from ../src/network_utils.cpp:19:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/network_utils.h:24,
                 from ../src/network_utils.cpp:19:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
../src/network_utils.cpp: In member function 'virtual int dht::net::UdpSocket::sendTo(const dht::SockAddr&, const uint8_t*, size_t, bool)':
../src/network_utils.cpp:133:80: warning: unused parameter 'replied' [-Wunused-parameter]
  133 | UdpSocket::sendTo(const SockAddr& dest, const uint8_t* data, size_t size, bool replied) {
      |                                                                           ~~~~~^~~~~~~
[33/48] Building CXX object CMakeFiles/opendht-static.dir/src/log.cpp.obj
In file included from ../include/opendht/log.h:23,
                 from ../src/log.cpp:20:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/dhtrunner.h:25,
                 from ../src/log.cpp:21:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
../src/log.cpp: In function 'std::shared_ptr<dht::Logger> dht::log::getSyslogLogger(const char*)':
../src/log.cpp:89:29: warning: unused parameter 'name' [-Wunused-parameter]
   89 | getSyslogLogger(const char* name) {
      |                 ~~~~~~~~~~~~^~~~
[34/48] Building CXX object CMakeFiles/opendht.dir/src/dht.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/dht.h:24,
                 from ../src/dht.cpp:20:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/network_engine.h:30,
                 from ../include/opendht/dht.h:26,
                 from ../src/dht.cpp:20:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
[35/48] Building CXX object CMakeFiles/opendht-static.dir/src/network_engine.cpp.obj
In file included from ../include/opendht/node.h:24,
                 from ../include/opendht/node_cache.h:21,
                 from ../include/opendht/network_engine.h:22,
                 from ../src/network_engine.cpp:20:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/network_engine.h:30,
                 from ../src/network_engine.cpp:20:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
../src/network_engine.cpp: In static member function 'static bool dht::net::NetworkEngine::isMartian(const dht::SockAddr&)':
../src/network_engine.cpp:377:30: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  377 |         if (addr.getLength() < sizeof(sockaddr_in6))
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
[36/48] Building CXX object CMakeFiles/opendht-static.dir/src/dhtrunner.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/dhtrunner.h:25,
                 from ../src/dhtrunner.cpp:25:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/dhtrunner.h:28,
                 from ../src/dhtrunner.cpp:25:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
../src/dhtrunner.cpp: In member function 'void dht::DhtRunner::setProxyServer(const string&, const string&)':
../src/dhtrunner.cpp:1082:72: warning: unused parameter 'pushNodeId' [-Wunused-parameter]
 1082 | DhtRunner::setProxyServer(const std::string& proxy, const std::string& pushNodeId)
      |                                                     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~

But when it starts trying to link everything up the process fails with:

[37/48] Linking CXX shared library libopendht.dll
FAILED: libopendht.dll libopendht_import.lib
cmd.exe /C "cd . && C:\tools\msys64\mingw64\bin\c++.exe -Wno-return-type -Wall -Wextra -Wnon-virtual-dtor -pedantic-errors -fvisibility=hidden -DMSGPACK_DISABLE_LEGACY_NIL -DMSGPACK_DISABLE_LEGACY_CONVERT -O3 -DNDEBUG   -shared -o libopendht.dll -Wl,--out-implib,libopendht_import.lib -Wl,--major-image-version,2,--minor-image-version,1 CMakeFiles/opendht.dir/src/base64.cpp.obj CMakeFiles/opendht.dir/src/utils.cpp.obj CMakeFiles/opendht.dir/src/infohash.cpp.obj CMakeFiles/opendht.dir/src/crypto.cpp.obj CMakeFiles/opendht.dir/src/default_types.cpp.obj CMakeFiles/opendht.dir/src/node.cpp.obj CMakeFiles/opendht.dir/src/value.cpp.obj CMakeFiles/opendht.dir/src/dht.cpp.obj CMakeFiles/opendht.dir/src/op_cache.cpp.obj CMakeFiles/opendht.dir/src/callbacks.cpp.obj CMakeFiles/opendht.dir/src/routing_table.cpp.obj CMakeFiles/opendht.dir/src/node_cache.cpp.obj CMakeFiles/opendht.dir/src/network_engine.cpp.obj CMakeFiles/opendht.dir/src/securedht.cpp.obj CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj CMakeFiles/opendht.dir/src/log.cpp.obj CMakeFiles/opendht.dir/src/network_utils.cpp.obj CMakeFiles/opendht.dir/src/thread_pool.cpp.obj CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj  -largon2  -lgnutls  -lnettle  -ljsoncpp  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/utils.cpp.obj:utils.cpp:(.text+0x1145): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/utils.cpp.obj:utils.cpp:(.text+0x1205): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/utils.cpp.obj:utils.cpp:(.text+0x1225): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/utils.cpp.obj:utils.cpp:(.text+0x134c): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/utils.cpp.obj:utils.cpp:(.text+0x136a): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/utils.cpp.obj:utils.cpp:(.text+0x142b): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/utils.cpp.obj:utils.cpp:(.text+0x143f): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/utils.cpp.obj:utils.cpp:(.text+0x1c6c): undefined reference to `__imp_getnameinfo'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/utils.cpp.obj:utils.cpp:(.text+0x2055): undefined reference to `__imp_inet_pton'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/utils.cpp.obj:utils.cpp:(.text+0x227b): undefined reference to `__imp_getaddrinfo'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/utils.cpp.obj:utils.cpp:(.text+0x2329): undefined reference to `__imp_freeaddrinfo'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/utils.cpp.obj:utils.cpp:(.text+0x23b4): undefined reference to `gai_strerrorA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x54): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xae): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xe1): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x357): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x3a4): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x464): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x24c6): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x24e9): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x7038): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x7074): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x709f): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xb6b1): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xb714): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xb742): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xc556): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xc5ac): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xc684): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/default_types.cpp.obj:default_types.cpp:(.text+0x1469): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/default_types.cpp.obj:default_types.cpp:(.text+0x14a8): undefined reference to `__imp_getnameinfo'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/default_types.cpp.obj:default_types.cpp:(.text+0x17d5): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/default_types.cpp.obj:default_types.cpp:(.text+0x1852): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dht.cpp.obj:dht.cpp:(.text+0x7bf2): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dht.cpp.obj:dht.cpp:(.text+0x7c6e): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dht.cpp.obj:dht.cpp:(.text+0x7eff): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dht.cpp.obj:dht.cpp:(.text$_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv[_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv]+0x33): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dht.cpp.obj:dht.cpp:(.text$_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv[_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv]+0x4c): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/node_cache.cpp.obj:node_cache.cpp:(.text$_ZN3dht4HashILy20EE9getRandomEv[_ZN3dht4HashILy20EE9getRandomEv]+0x36): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/node_cache.cpp.obj:node_cache.cpp:(.text$_ZN3dht4HashILy20EE9getRandomEv[_ZN3dht4HashILy20EE9getRandomEv]+0x48): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_engine.cpp.obj:network_engine.cpp:(.text+0x29de): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_engine.cpp.obj:network_engine.cpp:(.text+0x2a1a): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_engine.cpp.obj:network_engine.cpp:(.text+0x318f): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_engine.cpp.obj:network_engine.cpp:(.text+0x8dc9): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_engine.cpp.obj:network_engine.cpp:(.text+0x8f48): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_engine.cpp.obj:network_engine.cpp:(.text+0x91a7): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_engine.cpp.obj:network_engine.cpp:(.text+0x92a7): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_engine.cpp.obj:network_engine.cpp:(.text+0x931f): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_engine.cpp.obj:network_engine.cpp:(.text+0x93af): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_engine.cpp.obj:network_engine.cpp:(.text+0x9460): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_engine.cpp.obj:network_engine.cpp:(.text+0x94df): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/securedht.cpp.obj:securedht.cpp:(.text+0x734): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/securedht.cpp.obj:securedht.cpp:(.text+0x78e): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/securedht.cpp.obj:securedht.cpp:(.text+0x7c1): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/securedht.cpp.obj:securedht.cpp:(.text+0x3774): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0x6ec): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0x71f): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0x1f48): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0x20e8): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0x2cce): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0x3946): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0x3956): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0x650d): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0x653c): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0xa71a): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0x10af4): undefined reference to `__imp_WSAStartup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0x1287b): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj:dhtrunner.cpp:(.text+0x13601): undefined reference to `__imp_WSACleanup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x87): undefined reference to `__imp_send'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x1bf): undefined reference to `__imp_send'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x2aa): undefined reference to `__imp_ioctlsocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x2fa): undefined reference to `__imp_socket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x334): undefined reference to `__imp_ioctlsocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x344): undefined reference to `__imp_bind'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x36b): undefined reference to `__imp_getsockname'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x3e7): undefined reference to `__imp_socket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x41e): undefined reference to `__imp_setsockopt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x435): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x765): undefined reference to `__imp_socket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x7c8): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x7fc): undefined reference to `__imp_setsockopt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x80e): undefined reference to `__imp_bind'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x834): undefined reference to `__imp_getsockname'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x85c): undefined reference to `__imp_connect'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x879): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0xa6a): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0xd0c): undefined reference to `__imp_send'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0xd87): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0xdf0): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0xe26): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x1094): undefined reference to `__imp_sendto'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x1294): undefined reference to `__imp_select'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x136a): undefined reference to `__WSAFDIsSet'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x1392): undefined reference to `__WSAFDIsSet'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x13cf): undefined reference to `__imp_recvfrom'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x1497): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x1514): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x1524): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x1535): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x1549): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x171a): undefined reference to `__imp_recv'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x1844): undefined reference to `__WSAFDIsSet'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x1a10): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/network_utils.cpp.obj:network_utils.cpp:(.text+0x1e4d): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0xe3): undefined reference to `__imp_WSAStartup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x26a): undefined reference to `__imp_WSACleanup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0xa0e): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0xa38): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0xa81): undefined reference to `__imp_ioctlsocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0xad7): undefined reference to `__imp_setsockopt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0xaea): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0xd69): undefined reference to `__imp_WSARecvFrom'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0xd71): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x1fd4): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x2024): undefined reference to `__imp_WSAAddressToStringA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x2034): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x20c5): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x20cd): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x20e4): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x2123): undefined reference to `__imp_WSAAddressToStringA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x2133): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x22b4): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x2304): undefined reference to `__imp_WSAAddressToStringA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x2314): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x23a5): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x23ad): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x23c4): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x2403): undefined reference to `__imp_WSAAddressToStringA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x2413): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x30ee): undefined reference to `__imp_WSASendTo'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x30f6): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x360a): undefined reference to `__imp_setsockopt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x364a): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x36af): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x36f7): undefined reference to `__imp_WSAAddressToStringA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x3707): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x3793): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x37a3): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x382a): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x3832): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x3849): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x3888): undefined reference to `__imp_WSAAddressToStringA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x3898): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x3c28): undefined reference to `__imp_WSASendTo'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x3c30): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x4a1a): undefined reference to `__imp_WSASend'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x4a25): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x5bdc): undefined reference to `__imp_WSASocketW'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x5d55): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x5d9e): undefined reference to `__imp_WSAStringToAddressA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x5db5): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x5ded): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x5fb3): undefined reference to `__imp_setsockopt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x60cb): undefined reference to `__imp_bind'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x6116): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x6120): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x624d): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x6287): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x628f): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x632a): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x63c5): undefined reference to `__imp_setsockopt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x6aa4): undefined reference to `__imp_WSAStartup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text+0x6b71): undefined reference to `__imp_WSACleanup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text$_ZNSt23_Sp_counted_ptr_inplaceIN4asio10io_contextESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt23_Sp_counted_ptr_inplaceIN4asio10io_contextESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0xa2): undefined reference to `__imp_WSACleanup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text$_ZN4asio6detail13socket_holderD1Ev[_ZN4asio6detail13socket_holderD1Ev]+0x23): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text$_ZN4asio6detail13socket_holderD1Ev[_ZN4asio6detail13socket_holderD1Ev]+0x38): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text$_ZN4asio6detail13socket_holderD1Ev[_ZN4asio6detail13socket_holderD1Ev]+0x76): undefined reference to `__imp_ioctlsocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text$_ZN4asio6detail28win_iocp_socket_service_base21close_for_destructionERNS1_24base_implementation_typeE[_ZN4asio6detail28win_iocp_socket_service_base21close_for_destructionERNS1_24base_implementation_typeE]+0x2ca): undefined reference to `__imp_WSASend'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text$_ZN4asio6detail28win_iocp_socket_service_base21close_for_destructionERNS1_24base_implementation_typeE[_ZN4asio6detail28win_iocp_socket_service_base21close_for_destructionERNS1_24base_implementation_typeE]+0x2d5): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text$_ZN4asio6detail23win_iocp_socket_serviceINS_2ip3udpEE8shutdownEv[_ZN4asio6detail23win_iocp_socket_serviceINS_2ip3udpEE8shutdownEv]+0x3a4): undefined reference to `__imp_WSASend'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text$_ZN4asio6detail23win_iocp_socket_serviceINS_2ip3udpEE8shutdownEv[_ZN4asio6detail23win_iocp_socket_serviceINS_2ip3udpEE8shutdownEv]+0x3af): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text$_ZN4asio6detail14io_object_implINS0_23win_iocp_socket_serviceINS_2ip3udpEEENS_9execution12any_executorIJNS6_12context_as_tIRNS_17execution_contextEEENS6_6detail8blocking7never_tILi0EEENS6_11prefer_onlyINSD_10possibly_tILi0EEEEENSG_INSC_16outstanding_work9tracked_tILi0EEEEENSG_INSK_11untracked_tILi0EEEEENSG_INSC_12relationship6fork_tILi0EEEEENSG_INSR_14continuation_tILi0EEEEEEEEED1Ev[_ZN4asio6detail14io_object_implINS0_23win_iocp_socket_serviceINS_2ip3udpEEENS_9execution12any_executorIJNS6_12context_as_tIRNS_17execution_contextEEENS6_6detail8blocking7never_tILi0EEENS6_11prefer_onlyINSD_10possibly_tILi0EEEEENSG_INSC_16outstanding_work9tracked_tILi0EEEEENSG_INSK_11untracked_tILi0EEEEENSG_INSC_12relationship6fork_tILi0EEEEENSG_INSR_14continuation_tILi0EEEEEEEEED1Ev]+0x3ad): undefined reference to `__imp_WSASend'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj:peer_discovery.cpp:(.text$_ZN4asio6detail14io_object_implINS0_23win_iocp_socket_serviceINS_2ip3udpEEENS_9execution12any_executorIJNS6_12context_as_tIRNS_17execution_contextEEENS6_6detail8blocking7never_tILi0EEENS6_11prefer_onlyINSD_10possibly_tILi0EEEEENSG_INSC_16outstanding_work9tracked_tILi0EEEEENSG_INSK_11untracked_tILi0EEEEENSG_INSC_12relationship6fork_tILi0EEEEENSG_INSR_14continuation_tILi0EEEEEEEEED1Ev[_ZN4asio6detail14io_object_implINS0_23win_iocp_socket_serviceINS_2ip3udpEEENS_9execution12any_executorIJNS6_12context_as_tIRNS_17execution_contextEEENS6_6detail8blocking7never_tILi0EEENS6_11prefer_onlyINSD_10possibly_tILi0EEEEENSG_INSC_16outstanding_work9tracked_tILi0EEEEENSG_INSK_11untracked_tILi0EEEEENSG_INSC_12relationship6fork_tILi0EEEEENSG_INSR_14continuation_tILi0EEEEEEEEED1Ev]+0x3b8): undefined reference to `__imp_WSAGetLastError'
collect2.exe: error: ld returned 1 exit status
[38/48] Building CXX object tools/CMakeFiles/dhtchat.dir/dhtchat.cpp.obj
FAILED: tools/CMakeFiles/dhtchat.dir/dhtchat.cpp.obj
C:\tools\msys64\mingw64\bin\c++.exe -DASIO_STANDALONE -DOPENDHT_JSONCPP -DOPENDHT_LOG=true -DOPENDHT_PEER_DISCOVERY -DPACKAGE_VERSION=\"2.1.9\" -I../. -I../include -I../include/opendht -Iinclude -Wno-return-type -Wall -Wextra -Wnon-virtual-dtor -pedantic-errors -fvisibility=hidden -DMSGPACK_DISABLE_LEGACY_NIL -DMSGPACK_DISABLE_LEGACY_CONVERT -O3 -DNDEBUG -std=gnu++14 -MD -MT tools/CMakeFiles/dhtchat.dir/dhtchat.cpp.obj -MF tools\CMakeFiles\dhtchat.dir\dhtchat.cpp.obj.d -o tools/CMakeFiles/dhtchat.dir/dhtchat.cpp.obj -c ../tools/dhtchat.cpp
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/dhtrunner.h:25,
                 from ../include/opendht.h:21,
                 from ../tools/tools_common.h:24,
                 from ../tools/dhtchat.cpp:23:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/dhtrunner.h:28,
                 from ../include/opendht.h:21,
                 from ../tools/tools_common.h:24,
                 from ../tools/dhtchat.cpp:23:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
In file included from ../tools/dhtchat.cpp:23:
../tools/tools_common.h: In function 'void signal_handler(int)':
../tools/tools_common.h:415:10: error: 'SIGHUP' was not declared in this scope
  415 |     case SIGHUP:
      |          ^~~~~~
../tools/tools_common.h: In function 'void setupSignals()':
../tools/tools_common.h:429:12: error: 'SIGCHLD' was not declared in this scope
  429 |     signal(SIGCHLD,SIG_IGN); /* ignore child */
      |            ^~~~~~~
../tools/tools_common.h:430:12: error: 'SIGTSTP' was not declared in this scope
  430 |     signal(SIGTSTP,SIG_IGN); /* ignore tty signals */
      |            ^~~~~~~
../tools/tools_common.h:431:12: error: 'SIGTTOU' was not declared in this scope
  431 |     signal(SIGTTOU,SIG_IGN);
      |            ^~~~~~~
../tools/tools_common.h:432:12: error: 'SIGTTIN' was not declared in this scope
  432 |     signal(SIGTTIN,SIG_IGN);
      |            ^~~~~~~
../tools/tools_common.h:433:12: error: 'SIGHUP' was not declared in this scope
  433 |     signal(SIGHUP,signal_handler); /* catch hangup signal */
      |            ^~~~~~
../tools/tools_common.h: In function 'void daemonize()':
../tools/tools_common.h:442:17: error: 'fork' was not declared in this scope
  442 |     pid_t pid = fork();
      |                 ^~~~
../tools/tools_common.h:448:17: error: 'setsid' was not declared in this scope; did you mean 'getpid'?
  448 |     pid_t sid = setsid();
      |                 ^~~~~~
      |                 getpid
[39/48] Building CXX object tools/CMakeFiles/perftest.dir/perftest.cpp.obj
FAILED: tools/CMakeFiles/perftest.dir/perftest.cpp.obj
C:\tools\msys64\mingw64\bin\c++.exe -DASIO_STANDALONE -DOPENDHT_JSONCPP -DOPENDHT_LOG=true -DOPENDHT_PEER_DISCOVERY -DPACKAGE_VERSION=\"2.1.9\" -I../. -I../include -I../include/opendht -Iinclude -Wno-return-type -Wall -Wextra -Wnon-virtual-dtor -pedantic-errors -fvisibility=hidden -DMSGPACK_DISABLE_LEGACY_NIL -DMSGPACK_DISABLE_LEGACY_CONVERT -O3 -DNDEBUG -std=gnu++14 -MD -MT tools/CMakeFiles/perftest.dir/perftest.cpp.obj -MF tools\CMakeFiles\perftest.dir\perftest.cpp.obj.d -o tools/CMakeFiles/perftest.dir/perftest.cpp.obj -c ../tools/perftest.cpp
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/dhtrunner.h:25,
                 from ../include/opendht.h:21,
                 from ../tools/tools_common.h:24,
                 from ../tools/perftest.cpp:23:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/dhtrunner.h:28,
                 from ../include/opendht.h:21,
                 from ../tools/tools_common.h:24,
                 from ../tools/perftest.cpp:23:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
In file included from ../tools/perftest.cpp:23:
../tools/tools_common.h: In function 'void signal_handler(int)':
../tools/tools_common.h:415:10: error: 'SIGHUP' was not declared in this scope
  415 |     case SIGHUP:
      |          ^~~~~~
../tools/tools_common.h: In function 'void setupSignals()':
../tools/tools_common.h:429:12: error: 'SIGCHLD' was not declared in this scope
  429 |     signal(SIGCHLD,SIG_IGN); /* ignore child */
      |            ^~~~~~~
../tools/tools_common.h:430:12: error: 'SIGTSTP' was not declared in this scope
  430 |     signal(SIGTSTP,SIG_IGN); /* ignore tty signals */
      |            ^~~~~~~
../tools/tools_common.h:431:12: error: 'SIGTTOU' was not declared in this scope
  431 |     signal(SIGTTOU,SIG_IGN);
      |            ^~~~~~~
../tools/tools_common.h:432:12: error: 'SIGTTIN' was not declared in this scope
  432 |     signal(SIGTTIN,SIG_IGN);
      |            ^~~~~~~
../tools/tools_common.h:433:12: error: 'SIGHUP' was not declared in this scope
  433 |     signal(SIGHUP,signal_handler); /* catch hangup signal */
      |            ^~~~~~
../tools/tools_common.h: In function 'void daemonize()':
../tools/tools_common.h:442:17: error: 'fork' was not declared in this scope
  442 |     pid_t pid = fork();
      |                 ^~~~
../tools/tools_common.h:448:17: error: 'setsid' was not declared in this scope; did you mean 'getpid'?
  448 |     pid_t sid = setsid();
      |                 ^~~~~~
      |                 getpid
[40/48] Building CXX object tools/CMakeFiles/dhtscanner.dir/dhtscanner.cpp.obj
FAILED: tools/CMakeFiles/dhtscanner.dir/dhtscanner.cpp.obj
C:\tools\msys64\mingw64\bin\c++.exe -DASIO_STANDALONE -DOPENDHT_JSONCPP -DOPENDHT_LOG=true -DOPENDHT_PEER_DISCOVERY -DPACKAGE_VERSION=\"2.1.9\" -I../. -I../include -I../include/opendht -Iinclude -Wno-return-type -Wall -Wextra -Wnon-virtual-dtor -pedantic-errors -fvisibility=hidden -DMSGPACK_DISABLE_LEGACY_NIL -DMSGPACK_DISABLE_LEGACY_CONVERT -O3 -DNDEBUG -std=gnu++14 -MD -MT tools/CMakeFiles/dhtscanner.dir/dhtscanner.cpp.obj -MF tools\CMakeFiles\dhtscanner.dir\dhtscanner.cpp.obj.d -o tools/CMakeFiles/dhtscanner.dir/dhtscanner.cpp.obj -c ../tools/dhtscanner.cpp
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/dhtrunner.h:25,
                 from ../include/opendht.h:21,
                 from ../tools/tools_common.h:24,
                 from ../tools/dhtscanner.cpp:23:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/dhtrunner.h:28,
                 from ../include/opendht.h:21,
                 from ../tools/tools_common.h:24,
                 from ../tools/dhtscanner.cpp:23:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
In file included from ../tools/dhtscanner.cpp:23:
../tools/tools_common.h: In function 'void signal_handler(int)':
../tools/tools_common.h:415:10: error: 'SIGHUP' was not declared in this scope
  415 |     case SIGHUP:
      |          ^~~~~~
../tools/tools_common.h: In function 'void setupSignals()':
../tools/tools_common.h:429:12: error: 'SIGCHLD' was not declared in this scope
  429 |     signal(SIGCHLD,SIG_IGN); /* ignore child */
      |            ^~~~~~~
../tools/tools_common.h:430:12: error: 'SIGTSTP' was not declared in this scope
  430 |     signal(SIGTSTP,SIG_IGN); /* ignore tty signals */
      |            ^~~~~~~
../tools/tools_common.h:431:12: error: 'SIGTTOU' was not declared in this scope
  431 |     signal(SIGTTOU,SIG_IGN);
      |            ^~~~~~~
../tools/tools_common.h:432:12: error: 'SIGTTIN' was not declared in this scope
  432 |     signal(SIGTTIN,SIG_IGN);
      |            ^~~~~~~
../tools/tools_common.h:433:12: error: 'SIGHUP' was not declared in this scope
  433 |     signal(SIGHUP,signal_handler); /* catch hangup signal */
      |            ^~~~~~
../tools/tools_common.h: In function 'void daemonize()':
../tools/tools_common.h:442:17: error: 'fork' was not declared in this scope
  442 |     pid_t pid = fork();
      |                 ^~~~
../tools/tools_common.h:448:17: error: 'setsid' was not declared in this scope; did you mean 'getpid'?
  448 |     pid_t sid = setsid();
      |                 ^~~~~~
      |                 getpid
[41/48] Building CXX object tools/CMakeFiles/dhtnode.dir/dhtnode.cpp.obj
FAILED: tools/CMakeFiles/dhtnode.dir/dhtnode.cpp.obj
C:\tools\msys64\mingw64\bin\c++.exe -DASIO_STANDALONE -DOPENDHT_JSONCPP -DOPENDHT_LOG=true -DOPENDHT_PEER_DISCOVERY -DPACKAGE_VERSION=\"2.1.9\" -I../. -I../include -I../include/opendht -Iinclude -Wno-return-type -Wall -Wextra -Wnon-virtual-dtor -pedantic-errors -fvisibility=hidden -DMSGPACK_DISABLE_LEGACY_NIL -DMSGPACK_DISABLE_LEGACY_CONVERT -O3 -DNDEBUG -std=gnu++14 -MD -MT tools/CMakeFiles/dhtnode.dir/dhtnode.cpp.obj -MF tools\CMakeFiles\dhtnode.dir\dhtnode.cpp.obj.d -o tools/CMakeFiles/dhtnode.dir/dhtnode.cpp.obj -c ../tools/dhtnode.cpp
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/dhtrunner.h:25,
                 from ../include/opendht.h:21,
                 from ../tools/tools_common.h:24,
                 from ../tools/dhtnode.cpp:25:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/dhtrunner.h:28,
                 from ../include/opendht.h:21,
                 from ../tools/tools_common.h:24,
                 from ../tools/dhtnode.cpp:25:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
In file included from ../tools/dhtnode.cpp:25:
../tools/tools_common.h: In function 'void signal_handler(int)':
../tools/tools_common.h:415:10: error: 'SIGHUP' was not declared in this scope
  415 |     case SIGHUP:
      |          ^~~~~~
../tools/tools_common.h: In function 'void setupSignals()':
../tools/tools_common.h:429:12: error: 'SIGCHLD' was not declared in this scope
  429 |     signal(SIGCHLD,SIG_IGN); /* ignore child */
      |            ^~~~~~~
../tools/tools_common.h:430:12: error: 'SIGTSTP' was not declared in this scope
  430 |     signal(SIGTSTP,SIG_IGN); /* ignore tty signals */
      |            ^~~~~~~
../tools/tools_common.h:431:12: error: 'SIGTTOU' was not declared in this scope
  431 |     signal(SIGTTOU,SIG_IGN);
      |            ^~~~~~~
../tools/tools_common.h:432:12: error: 'SIGTTIN' was not declared in this scope
  432 |     signal(SIGTTIN,SIG_IGN);
      |            ^~~~~~~
../tools/tools_common.h:433:12: error: 'SIGHUP' was not declared in this scope
  433 |     signal(SIGHUP,signal_handler); /* catch hangup signal */
      |            ^~~~~~
../tools/tools_common.h: In function 'void daemonize()':
../tools/tools_common.h:442:17: error: 'fork' was not declared in this scope
  442 |     pid_t pid = fork();
      |                 ^~~~
../tools/tools_common.h:448:17: error: 'setsid' was not declared in this scope; did you mean 'getpid'?
  448 |     pid_t sid = setsid();
      |                 ^~~~~~
      |                 getpid
[42/48] Building CXX object CMakeFiles/opendht-static.dir/src/peer_discovery.cpp.obj
In file included from ../include/opendht/peer_discovery.h:23,
                 from ../src/peer_discovery.cpp:21:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/peer_discovery.h:25,
                 from ../src/peer_discovery.cpp:21:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
[43/48] Building CXX object CMakeFiles/opendht-static.dir/src/dht.cpp.obj
In file included from ../include/opendht/value.h:25,
                 from ../include/opendht/dht.h:24,
                 from ../src/dht.cpp:20:
../include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
../include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
../include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
../include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../include/opendht/network_engine.h:30,
                 from ../include/opendht/dht.h:26,
                 from ../src/dht.cpp:20:
../include/opendht/log_enable.h: At global scope:
../include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
ninja: build stopped: subcommand failed.

Taking the command

cmd.exe /C "cd . && C:\tools\msys64\mingw64\bin\c++.exe -Wno-return-type -Wall -Wextra -Wnon-virtual-dtor -pedantic-errors -fvisibility=hidden -DMSGPACK_DISABLE_LEGACY_NIL -DMSGPACK_DISABLE_LEGACY_CONVERT -O3 -DNDEBUG   -shared -o libopendht.dll -Wl,--out-implib,libopendht_import.lib -Wl,--major-image-version,2,--minor-image-version,1 CMakeFiles/opendht.dir/src/base64.cpp.obj CMakeFiles/opendht.dir/src/utils.cpp.obj CMakeFiles/opendht.dir/src/infohash.cpp.obj CMakeFiles/opendht.dir/src/crypto.cpp.obj CMakeFiles/opendht.dir/src/default_types.cpp.obj CMakeFiles/opendht.dir/src/node.cpp.obj CMakeFiles/opendht.dir/src/value.cpp.obj CMakeFiles/opendht.dir/src/dht.cpp.obj CMakeFiles/opendht.dir/src/op_cache.cpp.obj CMakeFiles/opendht.dir/src/callbacks.cpp.obj CMakeFiles/opendht.dir/src/routing_table.cpp.obj CMakeFiles/opendht.dir/src/node_cache.cpp.obj CMakeFiles/opendht.dir/src/network_engine.cpp.obj CMakeFiles/opendht.dir/src/securedht.cpp.obj CMakeFiles/opendht.dir/src/dhtrunner.cpp.obj CMakeFiles/opendht.dir/src/log.cpp.obj CMakeFiles/opendht.dir/src/network_utils.cpp.obj CMakeFiles/opendht.dir/src/thread_pool.cpp.obj CMakeFiles/opendht.dir/src/peer_discovery.cpp.obj  -largon2  -lgnutls  -lnettle  -ljsoncpp  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."

from there, and adding -lws2_32 to it, I've managed to reduce those errors to

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x54): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xae): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xe1): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x357): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x3a4): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x464): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x24c6): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x24e9): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x7038): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x7074): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0x709f): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xb6b1): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xb714): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xb742): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xc556): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xc5ac): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/crypto.cpp.obj:crypto.cpp:(.text+0xc684): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dht.cpp.obj:dht.cpp:(.text$_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv[_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv]+0x33): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/dht.cpp.obj:dht.cpp:(.text$_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv[_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv]+0x4c): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/node_cache.cpp.obj:node_cache.cpp:(.text$_ZN3dht4HashILy20EE9getRandomEv[_ZN3dht4HashILy20EE9getRandomEv]+0x36): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/node_cache.cpp.obj:node_cache.cpp:(.text$_ZN3dht4HashILy20EE9getRandomEv[_ZN3dht4HashILy20EE9getRandomEv]+0x48): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/securedht.cpp.obj:securedht.cpp:(.text+0x734): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/securedht.cpp.obj:securedht.cpp:(.text+0x78e): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/securedht.cpp.obj:securedht.cpp:(.text+0x7c1): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/opendht.dir/src/securedht.cpp.obj:securedht.cpp:(.text+0x3774): undefined reference to `dht::crypto::random_device::random_device()'
collect2.exe: error: ld returned 1 exit status

Does anyone know how to solve this problem or a better way to build OpenDHT on Windows? If I manage to build on Windows somehow I'd love to add instructions somewhere for everyone to use but at the moment I'm pretty much out of ideas.

leyyce commented 3 years ago

Small addition. By setting option (OPENDHT_SHARED "Build shared library" OFF) and option (OPENDHT_TOOLS "Build DHT tools" OFF) in the CMakeLists.txt, I was able to build the static library successfully

$ cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=/mingw64 ..
-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/tools/msys64/mingw64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/tools/msys64/mingw64/bin/g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: C:/tools/msys64/mingw64/bin/pkg-config.exe (found version "0.29.2")
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found GnuTLS: C:/tools/msys64/mingw64/lib/libgnutls.dll.a (Required is at least version "3.3")
-- Checking for one of the modules 'nettle'
-- Found Msgpack: C:/tools/msys64/mingw64/lib/libmsgpackc.dll.a (found suitable version "3.3.0", minimum required is "1.2")
-- Checking for one of the modules 'libargon2'
-- Found Argon2: C:/tools/msys64/mingw64/lib (found version "20190702")
-- Checking for one of the modules 'jsoncpp'
-- Configuring done
-- Generating done
-- Build files have been written to: F:/Coding/C++/opendht/build
$ mingw32-make -j4
Scanning dependencies of target opendht-static
[  5%] Building CXX object CMakeFiles/opendht-static.dir/src/base64.cpp.obj
[ 10%] Building CXX object CMakeFiles/opendht-static.dir/src/utils.cpp.obj
[ 15%] Building CXX object CMakeFiles/opendht-static.dir/src/infohash.cpp.obj
[ 20%] Building CXX object CMakeFiles/opendht-static.dir/src/crypto.cpp.obj
[ 25%] Building CXX object CMakeFiles/opendht-static.dir/src/default_types.cpp.obj
In file included from F:\Coding\C++\opendht\src\utils.cpp:24:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp: In function 'dht::Blob dht::crypto::aesEncrypt(const uint8_t*, size_t, const Blob&)':
F:\Coding\C++\opendht\src\crypto.cpp:111:49: warning: 'void nettle_gcm_aes_set_key(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  111 |     gcm_aes_set_key(&aes, key.size(), key.data());
      |                                                 ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:268:1: note: declared here
  268 | gcm_aes_set_key(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp:112:49: warning: 'void nettle_gcm_aes_set_iv(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  112 |     gcm_aes_set_iv(&aes, GCM_IV_SIZE, ret.data());
      |                                                 ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:272:1: note: declared here
  272 | gcm_aes_set_iv(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp:114:43: warning: 'void nettle_gcm_aes_update(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  114 |     gcm_aes_update(&aes, data_length, data);
      |                                           ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:276:1: note: declared here
  276 | gcm_aes_update(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp:117:70: warning: 'void nettle_gcm_aes_encrypt(gcm_aes_ctx*, size_t, uint8_t*, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  117 |     gcm_aes_encrypt(&aes, data_length, ret.data() + GCM_IV_SIZE, data);
      |                                                                      ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:280:1: note: declared here
  280 | gcm_aes_encrypt(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp:118:81: warning: 'void nettle_gcm_aes_digest(gcm_aes_ctx*, size_t, uint8_t*)' is deprecated [-Wdeprecated-declarations]
  118 |     gcm_aes_digest(&aes, GCM_DIGEST_SIZE, ret.data() + GCM_IV_SIZE + data_length);
      |                                                                                 ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:290:1: note: declared here
  290 | gcm_aes_digest(struct gcm_aes_ctx *ctx, size_t length, uint8_t *digest)
      | ^~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp: In function 'dht::Blob dht::crypto::aesDecrypt(const Blob&, const Blob&)':
F:\Coding\C++\opendht\src\crypto.cpp:142:49: warning: 'void nettle_gcm_aes_set_key(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  142 |     gcm_aes_set_key(&aes, key.size(), key.data());
      |                                                 ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:268:1: note: declared here
  268 | gcm_aes_set_key(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp:143:50: warning: 'void nettle_gcm_aes_set_iv(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  143 |     gcm_aes_set_iv(&aes, GCM_IV_SIZE, data.data());
      |                                                  ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:272:1: note: declared here
  272 | gcm_aes_set_iv(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp:147:73: warning: 'void nettle_gcm_aes_decrypt(gcm_aes_ctx*, size_t, uint8_t*, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  147 |     gcm_aes_decrypt(&aes, data_sz, ret.data(), data.data() + GCM_IV_SIZE);
      |                                                                         ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:285:1: note: declared here
  285 | gcm_aes_decrypt(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp:148:56: warning: 'void nettle_gcm_aes_digest(gcm_aes_ctx*, size_t, uint8_t*)' is deprecated [-Wdeprecated-declarations]
  148 |     gcm_aes_digest(&aes, GCM_DIGEST_SIZE, digest.data());
      |                                                        ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:290:1: note: declared here
  290 | gcm_aes_digest(struct gcm_aes_ctx *ctx, size_t length, uint8_t *digest)
      | ^~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp:155:55: warning: 'void nettle_gcm_aes_set_key(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  155 |         gcm_aes_set_key(&aes_d, key.size(), key.data());
      |                                                       ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:268:1: note: declared here
  268 | gcm_aes_set_key(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp:156:56: warning: 'void nettle_gcm_aes_set_iv(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  156 |         gcm_aes_set_iv(&aes_d, GCM_IV_SIZE, data.data());
      |                                                        ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:272:1: note: declared here
  272 | gcm_aes_set_iv(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp:157:54: warning: 'void nettle_gcm_aes_update(gcm_aes_ctx*, size_t, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  157 |         gcm_aes_update(&aes_d, ret.size(), ret.data());
      |                                                      ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:276:1: note: declared here
  276 | gcm_aes_update(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp:158:71: warning: 'void nettle_gcm_aes_encrypt(gcm_aes_ctx*, size_t, uint8_t*, const uint8_t*)' is deprecated [-Wdeprecated-declarations]
  158 |         gcm_aes_encrypt(&aes_d, ret.size(), ret_tmp.data(), ret.data());
      |                                                                       ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:280:1: note: declared here
  280 | gcm_aes_encrypt(struct gcm_aes_ctx *ctx,
      | ^~~~~~~~~~~~~~~
F:\Coding\C++\opendht\src\crypto.cpp:159:62: warning: 'void nettle_gcm_aes_digest(gcm_aes_ctx*, size_t, uint8_t*)' is deprecated [-Wdeprecated-declarations]
  159 |         gcm_aes_digest(&aes_d, GCM_DIGEST_SIZE, digest.data());
      |                                                              ^
In file included from F:\Coding\C++\opendht\src\crypto.cpp:27:
C:/tools/msys64/mingw64/include/nettle/gcm.h:290:1: note: declared here
  290 | gcm_aes_digest(struct gcm_aes_ctx *ctx, size_t length, uint8_t *digest)
      | ^~~~~~~~~~~~~~
[ 30%] Building CXX object CMakeFiles/opendht-static.dir/src/node.cpp.obj
In file included from F:/Coding/C++/opendht/include/opendht/value.h:25,
                 from F:/Coding/C++/opendht/include/opendht/default_types.h:21,
                 from F:\Coding\C++\opendht\src\default_types.cpp:19:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[ 35%] Building CXX object CMakeFiles/opendht-static.dir/src/value.cpp.obj
In file included from F:/Coding/C++/opendht/include/opendht/node.h:24,
                 from F:\Coding\C++\opendht\src\node.cpp:21:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[ 40%] Building CXX object CMakeFiles/opendht-static.dir/src/dht.cpp.obj
[ 45%] Building CXX object CMakeFiles/opendht-static.dir/src/op_cache.cpp.obj
[ 50%] Building CXX object CMakeFiles/opendht-static.dir/src/callbacks.cpp.obj
In file included from F:/Coding/C++/opendht/include/opendht/value.h:25,
                 from F:\Coding\C++\opendht\src\value.cpp:24:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from F:/Coding/C++/opendht/include/opendht/network_engine.h:30,
                 from F:/Coding/C++/opendht/include/opendht/dht.h:26,
                 from F:/Coding/C++/opendht/include/opendht/securedht.h:23,
                 from F:\Coding\C++\opendht\src\value.cpp:27:
F:/Coding/C++/opendht/include/opendht/log_enable.h: At global scope:
F:/Coding/C++/opendht/include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
In file included from F:/Coding/C++/opendht/include/opendht/value.h:25,
                 from F:/Coding/C++/opendht/include/opendht/dht.h:24,
                 from F:\Coding\C++\opendht\src\dht.cpp:20:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from F:/Coding/C++/opendht/include/opendht/network_engine.h:30,
                 from F:/Coding/C++/opendht/include/opendht/dht.h:26,
                 from F:\Coding\C++\opendht\src\dht.cpp:20:
F:/Coding/C++/opendht/include/opendht/log_enable.h: At global scope:
F:/Coding/C++/opendht/include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
In file included from F:/Coding/C++/opendht/include/opendht/value.h:25,
                 from F:\Coding\C++\opendht\src\op_cache.h:20,
                 from F:\Coding\C++\opendht\src\op_cache.cpp:18:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from F:/Coding/C++/opendht/include/opendht/value.h:25,
                 from F:/Coding/C++/opendht/include/opendht/callbacks.h:24,
                 from F:\Coding\C++\opendht\src\callbacks.cpp:23:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[ 55%] Building CXX object CMakeFiles/opendht-static.dir/src/routing_table.cpp.obj
[ 60%] Building CXX object CMakeFiles/opendht-static.dir/src/node_cache.cpp.obj
[ 65%] Building CXX object CMakeFiles/opendht-static.dir/src/network_engine.cpp.obj
In file included from F:/Coding/C++/opendht/include/opendht/node.h:24,
                 from F:/Coding/C++/opendht/include/opendht/routing_table.h:22,
                 from F:\Coding\C++\opendht\src\routing_table.cpp:19:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from F:/Coding/C++/opendht/include/opendht/network_engine.h:30,
                 from F:\Coding\C++\opendht\src\routing_table.cpp:21:
F:/Coding/C++/opendht/include/opendht/log_enable.h: At global scope:
F:/Coding/C++/opendht/include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
In file included from F:/Coding/C++/opendht/include/opendht/node.h:24,
                 from F:/Coding/C++/opendht/include/opendht/node_cache.h:21,
                 from F:\Coding\C++\opendht\src\node_cache.cpp:19:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from F:/Coding/C++/opendht/include/opendht/node.h:24,
                 from F:/Coding/C++/opendht/include/opendht/node_cache.h:21,
                 from F:/Coding/C++/opendht/include/opendht/network_engine.h:22,
                 from F:\Coding\C++\opendht\src\network_engine.cpp:20:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[ 70%] Building CXX object CMakeFiles/opendht-static.dir/src/securedht.cpp.obj
[ 75%] Building CXX object CMakeFiles/opendht-static.dir/src/dhtrunner.cpp.obj
In file included from F:/Coding/C++/opendht/include/opendht/network_engine.h:30,
                 from F:\Coding\C++\opendht\src\network_engine.cpp:20:
F:/Coding/C++/opendht/include/opendht/log_enable.h: At global scope:
F:/Coding/C++/opendht/include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
F:\Coding\C++\opendht\src\network_engine.cpp: In static member function 'static bool dht::net::NetworkEngine::isMartian(const dht::SockAddr&)':
F:\Coding\C++\opendht\src\network_engine.cpp:377:30: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  377 |         if (addr.getLength() < sizeof(sockaddr_in6))
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from F:/Coding/C++/opendht/include/opendht/value.h:25,
                 from F:/Coding/C++/opendht/include/opendht/dht.h:24,
                 from F:/Coding/C++/opendht/include/opendht/securedht.h:23,
                 from F:\Coding\C++\opendht\src\securedht.cpp:24:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from F:/Coding/C++/opendht/include/opendht/value.h:25,
                 from F:/Coding/C++/opendht/include/opendht/dhtrunner.h:25,
                 from F:\Coding\C++\opendht\src\dhtrunner.cpp:25:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from F:/Coding/C++/opendht/include/opendht/network_engine.h:30,
                 from F:/Coding/C++/opendht/include/opendht/dht.h:26,
                 from F:/Coding/C++/opendht/include/opendht/securedht.h:23,
                 from F:\Coding\C++\opendht\src\securedht.cpp:24:
F:/Coding/C++/opendht/include/opendht/log_enable.h: At global scope:
F:/Coding/C++/opendht/include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
In file included from F:/Coding/C++/opendht/include/opendht/dhtrunner.h:28,
                 from F:\Coding\C++\opendht\src\dhtrunner.cpp:25:
F:/Coding/C++/opendht/include/opendht/log_enable.h: At global scope:
F:/Coding/C++/opendht/include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
F:\Coding\C++\opendht\src\dhtrunner.cpp: In member function 'void dht::DhtRunner::setProxyServer(const string&, const string&)':
F:\Coding\C++\opendht\src\dhtrunner.cpp:1082:72: warning: unused parameter 'pushNodeId' [-Wunused-parameter]
 1082 | DhtRunner::setProxyServer(const std::string& proxy, const std::string& pushNodeId)
      |                                                     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
[ 80%] Building CXX object CMakeFiles/opendht-static.dir/src/log.cpp.obj
[ 85%] Building CXX object CMakeFiles/opendht-static.dir/src/network_utils.cpp.obj
[ 90%] Building CXX object CMakeFiles/opendht-static.dir/src/thread_pool.cpp.obj
In file included from F:/Coding/C++/opendht/include/opendht/network_utils.h:22,
                 from F:\Coding\C++\opendht\src\network_utils.cpp:19:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from F:/Coding/C++/opendht/include/opendht/log.h:23,
                 from F:\Coding\C++\opendht\src\log.cpp:20:
F:/Coding/C++/opendht/include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
In file included from F:/Coding/C++/opendht/include/opendht/value.h:25,
                 from F:/Coding/C++/opendht/include/opendht/dhtrunner.h:25,
                 from F:\Coding\C++\opendht\src\log.cpp:21:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
[ 95%] Building CXX object CMakeFiles/opendht-static.dir/src/peer_discovery.cpp.obj
F:\Coding\C++\opendht\src\log.cpp: In function 'std::shared_ptr<dht::Logger> dht::log::getSyslogLogger(const char*)':
F:\Coding\C++\opendht\src\log.cpp:89:29: warning: unused parameter 'name' [-Wunused-parameter]
   89 | getSyslogLogger(const char* name) {
      |                 ~~~~~~~~~~~~^~~~
In file included from F:/Coding/C++/opendht/include/opendht/network_utils.h:24,
                 from F:\Coding\C++\opendht\src\network_utils.cpp:19:
F:/Coding/C++/opendht/include/opendht/log_enable.h: At global scope:
F:/Coding/C++/opendht/include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
F:\Coding\C++\opendht\src\network_utils.cpp: In member function 'virtual int dht::net::UdpSocket::sendTo(const dht::SockAddr&, const uint8_t*, size_t, bool)':
F:\Coding\C++\opendht\src\network_utils.cpp:133:80: warning: unused parameter 'replied' [-Wunused-parameter]
  133 | UdpSocket::sendTo(const SockAddr& dest, const uint8_t* data, size_t size, bool replied) {
      |                                                                           ~~~~~^~~~~~~
In file included from F:/Coding/C++/opendht/include/opendht/peer_discovery.h:23,
                 from F:\Coding\C++\opendht\src\peer_discovery.cpp:21:
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In constructor 'dht::SockAddr::SockAddr(const sockaddr*, socklen_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:71:20: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
   71 |         if (length > sizeof(sockaddr_storage))
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
F:/Coding/C++/opendht/include/opendht/sockaddr.h: In member function 'void dht::SockAddr::setFamily(sa_family_t)':
F:/Coding/C++/opendht/include/opendht/sockaddr.h:147:17: warning: comparison of integer expressions of different signedness: 'socklen_t' {aka 'int'} and 'long long unsigned int' [-Wsign-compare]
  147 |         if (len > sizeof(sa_family_t))
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from F:/Coding/C++/opendht/include/opendht/peer_discovery.h:25,
                 from F:\Coding\C++\opendht\src\peer_discovery.cpp:21:
F:/Coding/C++/opendht/include/opendht/log_enable.h: At global scope:
F:/Coding/C++/opendht/include/opendht/log_enable.h:81:45: warning: ignoring attributes on template argument 'void(const char*, va_list)' {aka 'void(const char*, char*)'} [-Wignored-attributes]
   81 |     std::function<void(char const*, va_list)> func;
      |                                             ^
[100%] Linking CXX static library libopendht.a
[100%] Built target opendht-static
mingw32-make install
[100%] Built target opendht-static
Install the project...
-- Install configuration: "Release"
-- Installing: C:/tools/msys64/mingw64/lib/libopendht.a
-- Up-to-date: C:/tools/msys64/mingw64/include
-- Installing: C:/tools/msys64/mingw64/include/opendht
-- Installing: C:/tools/msys64/mingw64/include/opendht/callbacks.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/crypto.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/def.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/default_types.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/dht.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/dhtrunner.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/dht_interface.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/dht_proxy_client.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/dht_proxy_server.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/http.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/indexation
-- Installing: C:/tools/msys64/mingw64/include/opendht/indexation/pht.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/infohash.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/log.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/log_enable.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/network_engine.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/network_utils.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/node.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/node_cache.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/peer_discovery.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/proxy.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/rate_limiter.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/rng.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/routing_table.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/scheduler.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/securedht.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/sockaddr.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/thread_pool.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/utils.h
-- Installing: C:/tools/msys64/mingw64/include/opendht/value.h
-- Installing: C:/tools/msys64/mingw64/include/opendht.h
-- Installing: C:/tools/msys64/mingw64/lib/pkgconfig/opendht.pc
-- Installing: C:/tools/msys64/mingw64/lib/cmake/opendht/opendhtConfig.cmake
-- Installing: C:/tools/msys64/mingw64/lib/cmake/opendht/opendhtConfig-release.cmake
-- Installing: C:/tools/msys64/mingw64/lib/cmake/opendht/opendhtConfigVersion.cmake

But when I try to build my application I'm hit by the same error as before

$ cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=/mingw64 ..

-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/tools/msys64/mingw64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/tools/msys64/mingw64/bin/g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: F:/Coding/C++/peace/build
$ mingw32-make.exe -j4
Scanning dependencies of target peace
[ 50%] Building CXX object CMakeFiles/peace.dir/peace.cpp.obj
[100%] Linking CXX executable peace.exe
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x54): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xae): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xe1): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x357): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3a4): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3d7): undefined reference to `nettle_gcm_aes_set_key'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3e8): undefined reference to `nettle_gcm_aes_set_iv'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x400): undefined reference to `nettle_gcm_aes_update'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x420): undefined reference to `nettle_gcm_aes_encrypt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x43e): undefined reference to `nettle_gcm_aes_digest'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x464): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x56a): undefined reference to `nettle_gcm_aes_set_key'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x57a): undefined reference to `nettle_gcm_aes_set_iv'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x5e2): undefined reference to `nettle_gcm_aes_decrypt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x5f7): undefined reference to `nettle_gcm_aes_digest'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x651): undefined reference to `nettle_gcm_aes_set_key'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x661): undefined reference to `nettle_gcm_aes_set_iv'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x676): undefined reference to `nettle_gcm_aes_update'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x68e): undefined reference to `nettle_gcm_aes_encrypt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x69e): undefined reference to `nettle_gcm_aes_digest'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x80b): undefined reference to `gnutls_privkey_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x81c): undefined reference to `gnutls_privkey_import_x509'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8b1): undefined reference to `gnutls_privkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8c6): undefined reference to `gnutls_x509_privkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8f6): undefined reference to `gnutls_privkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x90d): undefined reference to `gnutls_x509_privkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x995): undefined reference to `gnutls_privkey_sign_data'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb10): undefined reference to `gnutls_x509_privkey_export_pkcs8'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb2f): undefined reference to `gnutls_x509_privkey_export_pkcs8'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb4d): undefined reference to `gnutls_pubkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb76): undefined reference to `gnutls_pubkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xbf1): undefined reference to `gnutls_pubkey_verify_data2'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc10): undefined reference to `gnutls_pubkey_get_preferred_hash_algorithm'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc3d): undefined reference to `gnutls_x509_crq_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc66): undefined reference to `gnutls_x509_crq_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xcc0): undefined reference to `gnutls_x509_crq_set_subject_alt_name'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xced): undefined reference to `gnutls_x509_crq_set_dn_by_oid'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xd6d): undefined reference to `gnutls_x509_crq_get_dn_by_oid'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xead): undefined reference to `gnutls_x509_crq_get_dn_by_oid'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xf9d): undefined reference to `gnutls_x509_crq_set_dn_by_oid'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xfba): undefined reference to `gnutls_x509_crq_verify'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xfe8): undefined reference to `gnutls_x509_crt_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x10d3): undefined reference to `gnutls_x509_crt_export'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x153d): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x16d6): undefined reference to `gnutls_x509_crt_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x17fc): undefined reference to `gnutls_x509_crt_get_serial'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x193d): undefined reference to `gnutls_x509_crt_get_dn_by_oid'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x1a7d): undefined reference to `gnutls_x509_crt_get_dn_by_oid'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x1bbd): undefined reference to `gnutls_x509_crt_get_issuer_dn_by_oid'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x1cfd): undefined reference to `gnutls_x509_crt_get_issuer_dn_by_oid'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x1dea): undefined reference to `gnutls_x509_crt_get_ca_status'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x1e0c): undefined reference to `gnutls_x509_crt_get_key_usage'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x1e62): undefined reference to `gnutls_x509_crt_print'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2068): undefined reference to `gnutls_x509_crt_get_activation_time'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2098): undefined reference to `gnutls_x509_crt_get_expiration_time'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x20de): undefined reference to `gnutls_ocsp_req_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2101): undefined reference to `gnutls_ocsp_req_add_cert'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2159): undefined reference to `gnutls_rnd'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2168): undefined reference to `gnutls_ocsp_req_set_nonce'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2180): undefined reference to `gnutls_ocsp_req_export'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2243): undefined reference to `gnutls_ocsp_req_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x22f4): undefined reference to `gnutls_ocsp_req_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2311): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2377): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x23d0): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2411): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2480): undefined reference to `gnutls_x509_crt_set_activation_time'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x24c6): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x24e9): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x250d): undefined reference to `gnutls_x509_crt_set_serial'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2545): undefined reference to `gnutls_ocsp_resp_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2562): undefined reference to `gnutls_ocsp_resp_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x257d): undefined reference to `gnutls_ocsp_resp_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2592): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x25d3): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2608): undefined reference to `gnutls_ocsp_resp_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2639): undefined reference to `gnutls_ocsp_resp_export'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x26c6): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2763): undefined reference to `gnutls_ocsp_resp_print'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x29a1): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2a34): undefined reference to `gnutls_ocsp_resp_get_single'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2a5d): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2acc): undefined reference to `gnutls_ocsp_resp_get_status'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2aeb): undefined reference to `gnutls_ocsp_resp_check_crt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2b16): undefined reference to `gnutls_ocsp_resp_verify_direct'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2b71): undefined reference to `gnutls_ocsp_resp_get_single'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2b9f): undefined reference to `gnutls_ocsp_resp_get_nonce'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2c20): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2c61): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2ce6): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2d0b): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2e1b): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2ebf): more undefined references to `gnutls_strerror' follow
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2f2d): undefined reference to `gnutls_x509_crl_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2fad): undefined reference to `gnutls_x509_crl_get_issuer_dn_by_oid'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x30ed): undefined reference to `gnutls_x509_crl_get_issuer_dn_by_oid'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x31c8): undefined reference to `gnutls_x509_crl_get_next_update'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x31f8): undefined reference to `gnutls_x509_crl_get_this_update'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3243): undefined reference to `gnutls_x509_crl_verify'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3282): undefined reference to `gnutls_x509_crl_print'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x349d): undefined reference to `gnutls_x509_trust_list_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x34cb): undefined reference to `gnutls_x509_trust_list_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x369d): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3d12): undefined reference to `gnutls_fingerprint'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3d3e): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3e58): undefined reference to `gnutls_x509_privkey_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3e96): undefined reference to `gnutls_x509_privkey_import2'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3eb3): undefined reference to `gnutls_x509_privkey_import2'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3ec2): undefined reference to `gnutls_privkey_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3ed4): undefined reference to `gnutls_privkey_import_x509'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3efd): undefined reference to `gnutls_x509_privkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3f5a): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3f65): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x41b4): undefined reference to `gnutls_pubkey_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x41dd): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x42fa): undefined reference to `gnutls_pubkey_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x431a): undefined reference to `gnutls_pubkey_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4336): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x447f): undefined reference to `gnutls_pubkey_export'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x44d0): undefined reference to `gnutls_pubkey_export'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4576): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x46b4): undefined reference to `gnutls_x509_crq_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x46dd): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x47f0): undefined reference to `gnutls_x509_crq_set_version'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4803): undefined reference to `gnutls_x509_crq_set_key'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x481f): undefined reference to `gnutls_x509_crq_privkey_sign'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4847): undefined reference to `gnutls_x509_crq_set_challenge_password'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x485e): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4903): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x49b8): undefined reference to `gnutls_x509_privkey_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x49d5): undefined reference to `gnutls_x509_privkey_generate'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x49f6): undefined reference to `gnutls_privkey_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4a08): undefined reference to `gnutls_privkey_import_x509'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4a2a): undefined reference to `gnutls_x509_privkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4a3f): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4bc5): undefined reference to `gnutls_x509_privkey_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4bdc): undefined reference to `gnutls_sec_param_to_pk_bits'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4bf1): undefined reference to `gnutls_x509_privkey_generate'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4c12): undefined reference to `gnutls_privkey_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4c24): undefined reference to `gnutls_privkey_import_x509'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4c46): undefined reference to `gnutls_x509_privkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4c5b): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4dfd): undefined reference to `gnutls_x509_crl_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4e2a): undefined reference to `gnutls_x509_crl_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4e46): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x4e51): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x507c): undefined reference to `gnutls_x509_crt_check_revocation'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x50a8): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x51e9): undefined reference to `gnutls_x509_crl_set_crt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x521b): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x5343): undefined reference to `gnutls_x509_crq_export2'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x5537): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x569a): undefined reference to `gnutls_pubkey_get_key_id'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x574a): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x58aa): undefined reference to `gnutls_x509_crt_get_key_id'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x595a): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x5acb): undefined reference to `gnutls_pubkey_get_key_id'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x5b83): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x5ceb): undefined reference to `gnutls_x509_crt_get_key_id'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x5da3): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x5edc): undefined reference to `gnutls_privkey_decrypt_data'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x5f81): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x60be): undefined reference to `gnutls_privkey_get_pk_algorithm'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x6341): undefined reference to `gnutls_x509_crq_export2'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x63e9): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x652c): undefined reference to `gnutls_pubkey_encrypt_data'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x65d3): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x6703): undefined reference to `gnutls_x509_crt_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x673e): undefined reference to `gnutls_x509_crt_list_import2'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x68a5): undefined reference to `gnutls_x509_crt_list_import2'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x68cc): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x6a92): undefined reference to `gnutls_x509_crl_export2'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x6c3d): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x6d62): undefined reference to `gnutls_x509_crl_set_version'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x6da6): undefined reference to `gnutls_x509_crl_set_this_update'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x6dcb): undefined reference to `gnutls_x509_crl_set_next_update'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x6e0e): undefined reference to `gnutls_x509_crl_get_number'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x6f2f): undefined reference to `gnutls_x509_crl_set_number'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x6f68): undefined reference to `gnutls_x509_crl_sign2'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7006): undefined reference to `gnutls_x509_crt_get_expiration_time'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7038): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7074): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x709f): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x70b6): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7166): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x71b8): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7276): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7301): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x737e): undefined reference to `gnutls_x509_crq_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x73a1): undefined reference to `gnutls_x509_crq_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x73cf): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7473): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7512): undefined reference to `gnutls_x509_crq_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x75ec): undefined reference to `gnutls_pubkey_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7602): undefined reference to `gnutls_pubkey_import_x509'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7634): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x76d9): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7779): undefined reference to `gnutls_pubkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x784c): undefined reference to `gnutls_pubkey_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7868): undefined reference to `gnutls_pubkey_import_privkey'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x789a): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x793f): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x79df): undefined reference to `gnutls_pubkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7abe): undefined reference to `gnutls_pubkey_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7ad5): undefined reference to `gnutls_pubkey_import_x509'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7af2): undefined reference to `gnutls_pubkey_get_preferred_hash_algorithm'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7b0f): undefined reference to `gnutls_pubkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7b34): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7bd6): undefined reference to `gnutls_pubkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7c28): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7cce): undefined reference to `gnutls_pubkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7d7e): undefined reference to `gnutls_pubkey_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7da8): undefined reference to `gnutls_pubkey_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7dca): undefined reference to `gnutls_pubkey_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7de6): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7e85): undefined reference to `gnutls_pubkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7ea2): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x803e): undefined reference to `gnutls_pubkey_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x807b): undefined reference to `gnutls_pubkey_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8097): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x81ef): undefined reference to `gnutls_x509_crl_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8226): undefined reference to `gnutls_x509_crl_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8252): undefined reference to `gnutls_x509_crl_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x826e): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8279): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x839c): undefined reference to `gnutls_x509_crl_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x853d): undefined reference to `gnutls_x509_crl_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8579): undefined reference to `gnutls_x509_crl_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x85c8): undefined reference to `gnutls_x509_trust_list_add_crls'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x85ec): undefined reference to `gnutls_x509_crl_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8608): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8613): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x874e): undefined reference to `gnutls_x509_crl_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x893d): undefined reference to `gnutls_x509_crl_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8983): undefined reference to `gnutls_x509_crl_import'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x899f): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x89aa): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8e15): undefined reference to `gnutls_x509_crt_export'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x8fdd): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x90be): undefined reference to `gnutls_x509_crt_export'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x953f): undefined reference to `gnutls_x509_trust_list_remove_cas'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9573): undefined reference to `gnutls_x509_trust_list_remove_cas'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x96f0): undefined reference to `gnutls_x509_crt_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x977b): undefined reference to `gnutls_x509_crt_set_crq'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9795): undefined reference to `gnutls_x509_crt_set_version'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x97bb): undefined reference to `gnutls_x509_crt_set_activation_time'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x97ca): undefined reference to `gnutls_x509_crt_set_expiration_time'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x97fa): undefined reference to `gnutls_pubkey_get_preferred_hash_algorithm'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9815): undefined reference to `gnutls_pubkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9837): undefined reference to `gnutls_x509_crt_privkey_sign'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9976): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9a0e): undefined reference to `gnutls_pubkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9aa4): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9b49): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9c43): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9db3): undefined reference to `gnutls_x509_crt_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9ea2): undefined reference to `gnutls_x509_crt_set_activation_time'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9eb1): undefined reference to `gnutls_x509_crt_set_expiration_time'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9ebf): undefined reference to `gnutls_x509_crt_set_key'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9ed9): undefined reference to `gnutls_x509_crt_set_version'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9fc3): undefined reference to `gnutls_x509_crt_set_subject_key_id'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x9fe2): undefined reference to `gnutls_x509_crt_set_dn_by_oid'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa004): undefined reference to `gnutls_x509_crt_set_dn_by_oid'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa026): undefined reference to `gnutls_x509_crt_set_ca_status'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa035): undefined reference to `gnutls_x509_crt_set_key_usage'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa057): undefined reference to `gnutls_x509_crt_get_ca_status'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa0ac): undefined reference to `gnutls_pubkey_get_preferred_hash_algorithm'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa0d5): undefined reference to `gnutls_x509_crt_privkey_sign'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa1b1): undefined reference to `gnutls_pubkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa1dc): undefined reference to `gnutls_x509_crt_get_key_usage'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa20d): undefined reference to `gnutls_pubkey_get_preferred_hash_algorithm'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa23d): undefined reference to `gnutls_x509_crt_privkey_sign'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa2f6): undefined reference to `gnutls_pubkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa328): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa4a4): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa561): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xa692): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xabaf): undefined reference to `gnutls_x509_trust_list_verify_crt2'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb05e): undefined reference to `gnutls_x509_trust_list_add_cas'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb08b): undefined reference to `gnutls_x509_trust_list_add_crls'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb2c2): undefined reference to `gnutls_x509_crl_get_number'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb3c4): undefined reference to `gnutls_fingerprint'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb499): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb64c): undefined reference to `argon2i_hash_raw'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb6b1): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb714): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb742): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xbdab): undefined reference to `gnutls_pubkey_export'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc03b): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc228): undefined reference to `gnutls_x509_privkey_export_pkcs8'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc254): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc30f): undefined reference to `gnutls_x509_privkey_export_pkcs8'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc48d): undefined reference to `gnutls_pubkey_get_pk_algorithm'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc556): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc5ac): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc684): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xcc30): undefined reference to `gnutls_x509_crt_get_subject_alt_name2'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xcf55): undefined reference to `gnutls_x509_crl_verify'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xd149): undefined reference to `gnutls_x509_crl_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xd1bb): undefined reference to `gnutls_x509_crl_set_crt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xd249): undefined reference to `gnutls_strerror'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xbac): undefined reference to `gnutls_pubkey_export'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2494): undefined reference to `gnutls_x509_crt_set_expiration_time'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x2f18): undefined reference to `gnutls_x509_crl_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x348a): undefined reference to `gnutls_x509_trust_list_init'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text$_ZNSt23_Sp_counted_ptr_inplaceIN3dht6crypto14RevocationListESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt23_Sp_counted_ptr_inplaceIN3dht6crypto14RevocationListESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0xe): undefined reference to `gnutls_x509_crl_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text$_ZNSt23_Sp_counted_ptr_inplaceIN3dht6crypto10PrivateKeyESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt23_Sp_counted_ptr_inplaceIN3dht6crypto10PrivateKeyESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0x12): undefined reference to `gnutls_privkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text$_ZNSt23_Sp_counted_ptr_inplaceIN3dht6crypto10PrivateKeyESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt23_Sp_counted_ptr_inplaceIN3dht6crypto10PrivateKeyESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0x28): undefined reference to `gnutls_x509_privkey_deinit'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.rdata$.refptr.gnutls_free[.refptr.gnutls_free]+0x0): undefined reference to `gnutls_free'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x10f8): undefined reference to `Json::Value::Value(Json::ValueType)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1250): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x125f): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x126a): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1272): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x12b4): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x12c3): undefined reference to `Json::Value::operator[](char const*)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x12ce): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x12d6): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1342): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1351): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x135c): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1364): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x139f): undefined reference to `Json::Value::Value(int)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x13ae): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x13b9): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x13c1): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x13d8): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x13e7): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x13f2): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x13fa): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1459): undefined reference to `Json::Value::Value(int)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1468): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1473): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x147b): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1492): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x14a1): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x14ac): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x14b4): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x14e3): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x14f2): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x14fd): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1505): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1524): undefined reference to `Json::Value::Value(unsigned int)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1533): undefined reference to `Json::Value::operator[](char const*)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x153e): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1546): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1607): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1616): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1621): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1629): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1692): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x16b2): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x16ce): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x16fa): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1705): undefined reference to `Json::Value::isString() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x171a): undefined reference to `Json::Value::asString[abi:cxx11]() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x1794): undefined reference to `Json::Value::asLargestUInt() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x7330): undefined reference to `Json::Value::operator[](char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x733b): undefined reference to `Json::Value::isString() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x7356): undefined reference to `Json::Value::asString[abi:cxx11]() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x73f5): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x7400): undefined reference to `Json::Value::isString() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x741b): undefined reference to `Json::Value::asString[abi:cxx11]() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x74b4): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x74bf): undefined reference to `Json::Value::isNull() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x74cb): undefined reference to `Json::Value::asInt() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x74de): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x74e9): undefined reference to `Json::Value::isString() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x7501): undefined reference to `Json::Value::asString[abi:cxx11]() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x76bf): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x76ca): undefined reference to `Json::Value::isString() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x76de): undefined reference to `Json::Value::asString[abi:cxx11]() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x774d): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x7758): undefined reference to `Json::Value::isNull() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x776f): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x777a): undefined reference to `Json::Value::isString() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x7795): undefined reference to `Json::Value::asString[abi:cxx11]() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x783d): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x7848): undefined reference to `Json::Value::isString() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x7860): undefined reference to `Json::Value::asString[abi:cxx11]() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x7905): undefined reference to `Json::Value::operator[](char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x7910): undefined reference to `Json::Value::isIntegral() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x7934): undefined reference to `Json::Value::asInt() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(value.cpp.obj):value.cpp:(.text+0x794c): undefined reference to `Json::Value::asUInt() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x917): undefined reference to `Json::Value::Value(Json::ValueType)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x921): undefined reference to `Json::Value::Value(unsigned long long)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x930): undefined reference to `Json::Value::operator[](char const*)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x93b): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x943): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x94e): undefined reference to `Json::Value::Value(unsigned long long)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x95d): undefined reference to `Json::Value::operator[](char const*)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x968): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x970): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x97b): undefined reference to `Json::Value::Value(unsigned long long)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x98a): undefined reference to `Json::Value::operator[](char const*)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x995): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x99d): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x9c4): undefined reference to `Json::Value::Value(unsigned long long)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x9d3): undefined reference to `Json::Value::operator[](char const*)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x9de): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x9e6): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xa0e): undefined reference to `Json::Value::Value(unsigned long long)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xa1d): undefined reference to `Json::Value::operator[](char const*)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xa28): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xa30): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xa48): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xa50): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xa9e): undefined reference to `Json::Value::isMember(char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xab1): undefined reference to `Json::Value::isMember(char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xac8): undefined reference to `Json::Value::isMember(char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xadb): undefined reference to `Json::Value::isMember(char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xafb): undefined reference to `Json::Value::operator[](char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xb03): undefined reference to `Json::Value::asLargestUInt() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xb1b): undefined reference to `Json::Value::operator[](char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xb23): undefined reference to `Json::Value::asLargestUInt() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xb43): undefined reference to `Json::Value::operator[](char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xb4b): undefined reference to `Json::Value::asLargestUInt() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xb6b): undefined reference to `Json::Value::operator[](char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0xb73): undefined reference to `Json::Value::asLargestUInt() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x1336): undefined reference to `Json::Value::Value(Json::ValueType)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x1394): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x13a3): undefined reference to `Json::Value::operator[](char const*)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x13ae): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x13b6): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x13ee): undefined reference to `Json::Value::operator[](char const*)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x13f9): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x1401): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x141c): undefined reference to `Json::Value::operator[](char const*)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x1427): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x142f): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x143b): undefined reference to `Json::Value::Value(unsigned long long)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x144a): undefined reference to `Json::Value::operator[](char const*)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x1455): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x145d): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x1494): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x14a3): undefined reference to `Json::Value::operator[](char const*)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x14ae): undefined reference to `Json::Value::operator=(Json::Value&&)'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x14b6): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x14e7): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x150f): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x1527): undefined reference to `Json::Value::~Value()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x181f): undefined reference to `Json::Value::isMember(char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x1840): undefined reference to `Json::Value::operator[](char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x184b): undefined reference to `Json::Value::asString[abi:cxx11]() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x18a9): undefined reference to `Json::Value::operator[](char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x18dd): undefined reference to `Json::Value::operator[](char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x1911): undefined reference to `Json::Value::operator[](char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x1919): undefined reference to `Json::Value::asLargestUInt() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x1960): undefined reference to `Json::Value::operator[](char const*) const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(callbacks.cpp.obj):callbacks.cpp:(.text+0x196b): undefined reference to `Json::Value::asString[abi:cxx11]() const'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0x6ec): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0x71f): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0x1f48): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0x20e8): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0x2cce): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0x3946): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0x3956): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0x650d): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0x653c): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0xa7ca): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0x10dd4): undefined reference to `__imp_WSAStartup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0x12b5b): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dhtrunner.cpp.obj):dhtrunner.cpp:(.text+0x138e1): undefined reference to `__imp_WSACleanup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x87): undefined reference to `__imp_send'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x1bf): undefined reference to `__imp_send'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x2aa): undefined reference to `__imp_ioctlsocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x2fa): undefined reference to `__imp_socket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x334): undefined reference to `__imp_ioctlsocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x344): undefined reference to `__imp_bind'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x36b): undefined reference to `__imp_getsockname'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x3e7): undefined reference to `__imp_socket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x41e): undefined reference to `__imp_setsockopt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x435): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x765): undefined reference to `__imp_socket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x7c8): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x7fc): undefined reference to `__imp_setsockopt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x80e): undefined reference to `__imp_bind'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x834): undefined reference to `__imp_getsockname'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x85c): undefined reference to `__imp_connect'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x879): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0xa6a): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0xd0c): undefined reference to `__imp_send'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0xd87): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0xdf0): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0xe26): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x1094): undefined reference to `__imp_sendto'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x1294): undefined reference to `__imp_select'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x136a): undefined reference to `__WSAFDIsSet'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x1392): undefined reference to `__WSAFDIsSet'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x13cf): undefined reference to `__imp_recvfrom'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x1497): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x1514): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x1524): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x1535): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x1549): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x171a): undefined reference to `__imp_recv'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x1844): undefined reference to `__WSAFDIsSet'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x1a10): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_utils.cpp.obj):network_utils.cpp:(.text+0x1e4d): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0xe3): undefined reference to `__imp_WSAStartup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x26a): undefined reference to `__imp_WSACleanup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0xa0e): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0xa38): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0xa81): undefined reference to `__imp_ioctlsocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0xad7): undefined reference to `__imp_setsockopt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0xaea): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0xd69): undefined reference to `__imp_WSARecvFrom'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0xd71): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x1fd4): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x2024): undefined reference to `__imp_WSAAddressToStringA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x2034): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x20c5): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x20cd): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x20e4): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x2123): undefined reference to `__imp_WSAAddressToStringA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x2133): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x22b4): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x2304): undefined reference to `__imp_WSAAddressToStringA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x2314): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x23a5): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x23ad): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x23c4): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x2403): undefined reference to `__imp_WSAAddressToStringA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x2413): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x30ee): undefined reference to `__imp_WSASendTo'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x30f6): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x360a): undefined reference to `__imp_setsockopt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x364a): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x36af): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x36f7): undefined reference to `__imp_WSAAddressToStringA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x3707): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x3793): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x37a3): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x382a): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x3832): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x3849): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x3888): undefined reference to `__imp_WSAAddressToStringA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x3898): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x3c28): undefined reference to `__imp_WSASendTo'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x3c30): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x4a1a): undefined reference to `__imp_WSASend'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x4a25): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x5bdc): undefined reference to `__imp_WSASocketW'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x5d55): undefined reference to `__imp_WSASetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x5d9e): undefined reference to `__imp_WSAStringToAddressA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x5db5): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x5ded): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x5fb3): undefined reference to `__imp_setsockopt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x60cb): undefined reference to `__imp_bind'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x6116): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x6120): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x624d): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x6287): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x628f): undefined reference to `__imp_htonl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x632a): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x63c5): undefined reference to `__imp_setsockopt'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x6aa4): undefined reference to `__imp_WSAStartup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text+0x6b71): undefined reference to `__imp_WSACleanup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text$_ZNSt23_Sp_counted_ptr_inplaceIN4asio10io_contextESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt23_Sp_counted_ptr_inplaceIN4asio10io_contextESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0xa2): undefined reference to `__imp_WSACleanup'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text$_ZN4asio6detail13socket_holderD1Ev[_ZN4asio6detail13socket_holderD1Ev]+0x23): undefined reference to `__imp_closesocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text$_ZN4asio6detail13socket_holderD1Ev[_ZN4asio6detail13socket_holderD1Ev]+0x38): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text$_ZN4asio6detail13socket_holderD1Ev[_ZN4asio6detail13socket_holderD1Ev]+0x76): undefined reference to `__imp_ioctlsocket'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text$_ZN4asio6detail28win_iocp_socket_service_base21close_for_destructionERNS1_24base_implementation_typeE[_ZN4asio6detail28win_iocp_socket_service_base21close_for_destructionERNS1_24base_implementation_typeE]+0x2ca): undefined reference to `__imp_WSASend'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text$_ZN4asio6detail28win_iocp_socket_service_base21close_for_destructionERNS1_24base_implementation_typeE[_ZN4asio6detail28win_iocp_socket_service_base21close_for_destructionERNS1_24base_implementation_typeE]+0x2d5): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text$_ZN4asio6detail23win_iocp_socket_serviceINS_2ip3udpEE8shutdownEv[_ZN4asio6detail23win_iocp_socket_serviceINS_2ip3udpEE8shutdownEv]+0x3a4): undefined reference to `__imp_WSASend'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text$_ZN4asio6detail23win_iocp_socket_serviceINS_2ip3udpEE8shutdownEv[_ZN4asio6detail23win_iocp_socket_serviceINS_2ip3udpEE8shutdownEv]+0x3af): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text$_ZN4asio6detail14io_object_implINS0_23win_iocp_socket_serviceINS_2ip3udpEEENS_9execution12any_executorIJNS6_12context_as_tIRNS_17execution_contextEEENS6_6detail8blocking7never_tILi0EEENS6_11prefer_onlyINSD_10possibly_tILi0EEEEENSG_INSC_16outstanding_work9tracked_tILi0EEEEENSG_INSK_11untracked_tILi0EEEEENSG_INSC_12relationship6fork_tILi0EEEEENSG_INSR_14continuation_tILi0EEEEEEEEED1Ev[_ZN4asio6detail14io_object_implINS0_23win_iocp_socket_serviceINS_2ip3udpEEENS_9execution12any_executorIJNS6_12context_as_tIRNS_17execution_contextEEENS6_6detail8blocking7never_tILi0EEENS6_11prefer_onlyINSD_10possibly_tILi0EEEEENSG_INSC_16outstanding_work9tracked_tILi0EEEEENSG_INSK_11untracked_tILi0EEEEENSG_INSC_12relationship6fork_tILi0EEEEENSG_INSR_14continuation_tILi0EEEEEEEEED1Ev]+0x3ad): undefined reference to `__imp_WSASend'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(peer_discovery.cpp.obj):peer_discovery.cpp:(.text$_ZN4asio6detail14io_object_implINS0_23win_iocp_socket_serviceINS_2ip3udpEEENS_9execution12any_executorIJNS6_12context_as_tIRNS_17execution_contextEEENS6_6detail8blocking7never_tILi0EEENS6_11prefer_onlyINSD_10possibly_tILi0EEEEENSG_INSC_16outstanding_work9tracked_tILi0EEEEENSG_INSK_11untracked_tILi0EEEEENSG_INSC_12relationship6fork_tILi0EEEEENSG_INSR_14continuation_tILi0EEEEEEEEED1Ev[_ZN4asio6detail14io_object_implINS0_23win_iocp_socket_serviceINS_2ip3udpEEENS_9execution12any_executorIJNS6_12context_as_tIRNS_17execution_contextEEENS6_6detail8blocking7never_tILi0EEENS6_11prefer_onlyINSD_10possibly_tILi0EEEEENSG_INSC_16outstanding_work9tracked_tILi0EEEEENSG_INSK_11untracked_tILi0EEEEENSG_INSC_12relationship6fork_tILi0EEEEENSG_INSR_14continuation_tILi0EEEEEEEEED1Ev]+0x3b8): undefined reference to `__imp_WSAGetLastError'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(utils.cpp.obj):utils.cpp:(.text+0xbb5): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(utils.cpp.obj):utils.cpp:(.text+0xc75): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(utils.cpp.obj):utils.cpp:(.text+0xc95): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(utils.cpp.obj):utils.cpp:(.text+0xdbc): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(utils.cpp.obj):utils.cpp:(.text+0xdda): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(utils.cpp.obj):utils.cpp:(.text+0xe9b): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(utils.cpp.obj):utils.cpp:(.text+0xeaf): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(utils.cpp.obj):utils.cpp:(.text+0x16fc): undefined reference to `__imp_getnameinfo'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(utils.cpp.obj):utils.cpp:(.text+0x1ae5): undefined reference to `__imp_inet_pton'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(utils.cpp.obj):utils.cpp:(.text+0x1d0b): undefined reference to `__imp_getaddrinfo'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(utils.cpp.obj):utils.cpp:(.text+0x1db9): undefined reference to `__imp_freeaddrinfo'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(utils.cpp.obj):utils.cpp:(.text+0x1e44): undefined reference to `gai_strerrorA'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(default_types.cpp.obj):default_types.cpp:(.text+0xed9): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(default_types.cpp.obj):default_types.cpp:(.text+0xf18): undefined reference to `__imp_getnameinfo'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(default_types.cpp.obj):default_types.cpp:(.text+0x1735): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(default_types.cpp.obj):default_types.cpp:(.text+0x17e5): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dht.cpp.obj):dht.cpp:(.text+0x7bf2): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dht.cpp.obj):dht.cpp:(.text+0x7c6e): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dht.cpp.obj):dht.cpp:(.text+0x7eff): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dht.cpp.obj):dht.cpp:(.text$_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv[_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv]+0x33): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dht.cpp.obj):dht.cpp:(.text$_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv[_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv]+0x4c): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(node_cache.cpp.obj):node_cache.cpp:(.text$_ZN3dht4HashILy20EE9getRandomEv[_ZN3dht4HashILy20EE9getRandomEv]+0x36): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(node_cache.cpp.obj):node_cache.cpp:(.text$_ZN3dht4HashILy20EE9getRandomEv[_ZN3dht4HashILy20EE9getRandomEv]+0x48): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_engine.cpp.obj):network_engine.cpp:(.text+0x241e): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_engine.cpp.obj):network_engine.cpp:(.text+0x245a): undefined reference to `__imp_ntohl'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_engine.cpp.obj):network_engine.cpp:(.text+0x2c3f): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_engine.cpp.obj):network_engine.cpp:(.text+0x8e99): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_engine.cpp.obj):network_engine.cpp:(.text+0x9018): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_engine.cpp.obj):network_engine.cpp:(.text+0x9277): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_engine.cpp.obj):network_engine.cpp:(.text+0x9377): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_engine.cpp.obj):network_engine.cpp:(.text+0x93ef): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_engine.cpp.obj):network_engine.cpp:(.text+0x947f): undefined reference to `__imp_htons'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_engine.cpp.obj):network_engine.cpp:(.text+0x9530): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(network_engine.cpp.obj):network_engine.cpp:(.text+0x95af): undefined reference to `__imp_ntohs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(securedht.cpp.obj):securedht.cpp:(.text+0x784): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(securedht.cpp.obj):securedht.cpp:(.text+0x7de): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(securedht.cpp.obj):securedht.cpp:(.text+0x811): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(securedht.cpp.obj):securedht.cpp:(.text+0x373c): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(securedht.cpp.obj):securedht.cpp:(.text+0x376a): undefined reference to `dht::crypto::random_device::operator()()'
collect2.exe: error: ld returned 1 exit status
mingw32-make[2]: *** [CMakeFiles\peace.dir\build.make:105: peace.exe] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:94: CMakeFiles/peace.dir/all] Error 2
mingw32-make: *** [Makefile:102: all] Error 2

The difference being that a lot of other libs are undefined. Trough running

c++.exe   CMakeFiles/peace.dir/peace.cpp.obj -o peace.exe -Wl,--major-image-version,0,--minor-image-version,0  C:/tools/msys64/mingw64/lib/libopendht.a  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 **-largon2  -lgnutls  -lnettle  -ljsoncpp  -lws2_32**

the important part being adding the link parameters in bold, I'm again able to reduce that error to

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x54): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xae): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xe1): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x357): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x3a4): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x464): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x24c6): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x24e9): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7038): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x7074): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0x709f): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb6b1): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb714): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xb742): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc556): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc5ac): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(crypto.cpp.obj):crypto.cpp:(.text+0xc684): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dht.cpp.obj):dht.cpp:(.text$_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv[_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv]+0x33): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(dht.cpp.obj):dht.cpp:(.text$_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv[_ZN3dht6crypto21getSeededRandomEngineISt23mersenne_twister_engineIyLy64ELy312ELy156ELy31ELy13043109905998158313ELy29ELy6148914691236517205ELy17ELy8202884508482404352ELy37ELy18444473444759240704ELy43ELy6364136223846793005EELy312EEENSt9enable_ifIXntntT0_ET_E4typeEv]+0x4c): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(node_cache.cpp.obj):node_cache.cpp:(.text$_ZN3dht4HashILy20EE9getRandomEv[_ZN3dht4HashILy20EE9getRandomEv]+0x36): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(node_cache.cpp.obj):node_cache.cpp:(.text$_ZN3dht4HashILy20EE9getRandomEv[_ZN3dht4HashILy20EE9getRandomEv]+0x48): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(securedht.cpp.obj):securedht.cpp:(.text+0x784): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(securedht.cpp.obj):securedht.cpp:(.text+0x7de): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(securedht.cpp.obj):securedht.cpp:(.text+0x811): undefined reference to `dht::crypto::random_device::operator()()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(securedht.cpp.obj):securedht.cpp:(.text+0x373c): undefined reference to `dht::crypto::random_device::random_device()'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/tools/msys64/mingw64/lib/libopendht.a(securedht.cpp.obj):securedht.cpp:(.text+0x376a): undefined reference to `dht::crypto::random_device::operator()()'
collect2.exe: error: ld returned 1 exit status
ghenry commented 2 years ago

Is this still there?

Thanks.

lonnietc commented 1 year ago

Hello All,

Was there ever a solution to this as I am interested in something similar.