Giter Site home page Giter Site logo

chronoxor / cppserver Goto Github PK

View Code? Open in Web Editor NEW
1.3K 1.3K 278.0 194.34 MB

Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution

License: MIT License

CMake 0.62% C++ 98.36% HTML 0.60% Batchfile 0.18% C 0.01% Shell 0.18% JavaScript 0.06%
async http http-server https https-server low-latency performance socket-client socket-server ssl tcp-client tcp-server tls udp-client udp-server websocket websocket-server

cppserver's People

Contributors

chronoxor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cppserver's Issues

error compiling library on windows 10 using Mingw32 7.3.0 comes with QT 5.13.2

Hi,

I got this error when I tried to compile the library I follow the steps exactly, i use windows 10, compiler MinGW 32 7.3.0

-- The System identification is Windows-10.0.17134 Windows 10.0.17134 Platform/Windows -- Could NOT find Crypt (missing: CRYPT_INCLUDE_DIR) -- Could NOT find WinSock (missing: WINSOCK_INCLUDE_DIR) -- The System identification is Windows-10.0.17134 Windows 10.0.17134 Platform/Windows -- The System identification is Windows-10.0.17134 Windows 10.0.17134 Platform/Windows -- Could NOT find DbgHelp (missing: DBGHELP_INCLUDE_DIR) -- Could NOT find RPC (missing: RPC_INCLUDE_DIR) -- Could NOT find Userenv (missing: USERENV_INCLUDE_DIR) -- OpenSSL version: 1.1.1d D:/cook/CppServer/CppServer/modules/OpenSSL/MinGW/include D:/cook/CppServer/CppServer/modules/OpenSSL/MinGW/lib/libssl.a;D:/cook/CppServer/CppServer/modules/OpenSSL/MinGW/lib/libcrypto.a -- Configuring done -- Generating done -- Build files have been written to: D:/cook/CppServer/CppServer/temp [ 1%] Built target cpp-optparse [ 3%] Built target fmt [ 10%] Built target zlib [ 11%] Built target asio [ 14%] Built target HdrHistogram [ 14%] Building CXX object modules/CppCommon/CMakeFiles/cppcommon.dir/source/errors/exceptions_handler.cpp.obj [ 15%] Building CXX object modules/CppCommon/CMakeFiles/cppcommon.dir/source/math/math.cpp.obj [ 16%] Building CXX object modules/CppCommon/CMakeFiles/cppcommon.dir/source/string/encoding.cpp.obj [ 16%] Building CXX object modules/CppCommon/CMakeFiles/cppcommon.dir/source/string/string_utils.cpp.obj [ 17%] Building CXX object modules/CppCommon/CMakeFiles/cppcommon.dir/source/system/console.cpp.obj [ 17%] Building CXX object modules/CppCommon/CMakeFiles/cppcommon.dir/source/system/cpu.cpp.obj [ 18%] Building CXX object modules/CppCommon/CMakeFiles/cppcommon.dir/source/system/dll.cpp.obj [ 18%] Building CXX object modules/CppBenchmark/CMakeFiles/cppbenchmark.dir/source/benchmark/system.cpp.obj D:\cook\CppServer\CppServer\modules\CppCommon\source\math\math.cpp: In static member function 'static uint64_t CppCommon::Math::MulDiv64(uint64_t, uint64_t, uint64_t)': D:\cook\CppServer\CppServer\modules\CppCommon\source\math\math.cpp:20:5: error: '__uint128_t' was not declared in this scope __uint128_t a = operant; ^~~~~~~~~~~ D:\cook\CppServer\CppServer\modules\CppCommon\source\math\math.cpp:20:5: note: suggested alternative: 'uint32_t' __uint128_t a = operant; ^~~~~~~~~~~ uint32_t D:\cook\CppServer\CppServer\modules\CppCommon\source\math\math.cpp:21:17: error: expected ';' before 'b' __uint128_t b = multiplier; ^ D:\cook\CppServer\CppServer\modules\CppCommon\source\math\math.cpp:22:17: error: expected ';' before 'c' __uint128_t c = divider; ^ D:\cook\CppServer\CppServer\modules\CppCommon\source\math\math.cpp:24:23: error: 'a' was not declared in this scope return (uint64_t)(a * b / c); ^ D:\cook\CppServer\CppServer\modules\CppCommon\source\math\math.cpp:24:27: error: 'b' was not declared in this scope return (uint64_t)(a * b / c); ^ D:\cook\CppServer\CppServer\modules\CppCommon\source\math\math.cpp:24:31: error: 'c' was not declared in this scope return (uint64_t)(a * b / c); ^ mingw32-make[2]: *** [modules\CppCommon\CMakeFiles\cppcommon.dir\build.make:287: modules/CppCommon/CMakeFiles/cppcommon.dir/source/math/math.cpp.obj] Error 1 mingw32-make[2]: *** Waiting for unfinished jobs.... D:\cook\CppServer\CppServer\modules\CppBenchmark\source\benchmark\system.cpp: In static member function 'static uint64_t CppBenchmark::System::MulDiv64(uint64_t, uint64_t, uint64_t)': D:\cook\CppServer\CppServer\modules\CppBenchmark\source\benchmark\system.cpp:716:5: error: '__uint128_t' was not declared in this scope __uint128_t a = operant; ^~~~~~~~~~~ D:\cook\CppServer\CppServer\modules\CppBenchmark\source\benchmark\system.cpp:716:5: note: suggested alternative: 'uint32_t' __uint128_t a = operant; ^~~~~~~~~~~ uint32_t D:\cook\CppServer\CppServer\modules\CppBenchmark\source\benchmark\system.cpp:717:17: error: expected ';' before 'b' __uint128_t b = multiplier; ^ D:\cook\CppServer\CppServer\modules\CppBenchmark\source\benchmark\system.cpp:718:17: error: expected ';' before 'c' __uint128_t c = divider; ^ D:\cook\CppServer\CppServer\modules\CppBenchmark\source\benchmark\system.cpp:720:23: error: 'a' was not declared in this scope return (uint64_t)(a * b / c); ^ D:\cook\CppServer\CppServer\modules\CppBenchmark\source\benchmark\system.cpp:720:27: error: 'b' was not declared in this scope return (uint64_t)(a * b / c); ^ D:\cook\CppServer\CppServer\modules\CppBenchmark\source\benchmark\system.cpp:720:31: error: 'c' was not declared in this scope return (uint64_t)(a * b / c); ^ mingw32-make[2]: *** [modules\CppBenchmark\CMakeFiles\cppbenchmark.dir\build.make:343: modules/CppBenchmark/CMakeFiles/cppbenchmark.dir/source/benchmark/system.cpp.obj] Error 1 mingw32-make[1]: *** [CMakeFiles\Makefile2:2080: modules/CppBenchmark/CMakeFiles/cppbenchmark.dir/all] Error 2 mingw32-make[1]: *** Waiting for unfinished jobs.... D:\cook\CppServer\CppServer\modules\CppCommon\source\errors\exceptions_handler.cpp: In static member function 'static void CppCommon::ExceptionsHandler::Impl::GetExceptionPointers(DWORD, EXCEPTION_POINTERS**)': D:\cook\CppServer\CppServer\modules\CppCommon\source\errors\exceptions_handler.cpp:442:9: error: expected '(' before '{' token { ^ D:\cook\CppServer\CppServer\modules\CppCommon\source\errors\exceptions_handler.cpp:443:13: error: 'mov' was not declared in this scope mov dword ptr [ContextRecord.Eax ], eax ^~~ D:\cook\CppServer\CppServer\modules\CppCommon\source\errors\exceptions_handler.cpp:436:24: error: unused variable 'dw' -Werror=unused-variable] volatile ULONG dw[(sizeof(CONTEXT) + sizeof(EXCEPTION_RECORD)) / sizeof(ULONG)]; ^~ cc1plus.exe: all warnings being treated as errors mingw32-make[2]: *** [modules\CppCommon\CMakeFiles\cppcommon.dir\build.make:161: modules/CppCommon/CMakeFiles/cppcommon.dir/source/errors/exceptions_handler.cpp.obj] Error 1 mingw32-make[1]: *** [CMakeFiles\Makefile2:2231: modules/CppCommon/CMakeFiles/cppcommon.dir/all] Error 2 mingw32-make: *** [Makefile:140: all] Error 2

Error compiling with Ubuntu 18.04.4 LTS and OpenSSL 1.1.1

Hi I want to use this library but got this error during installation, any idea?

[ 47%] Built target cppcommon
Scanning dependencies of target cppserver
[ 47%] Building CXX object CMakeFiles/cppserver.dir/source/server/asio/ssl_client.cpp.o
[ 48%] Building CXX object CMakeFiles/cppserver.dir/source/server/asio/tcp_client.cpp.o
[ 48%] Building CXX object CMakeFiles/cppserver.dir/source/server/asio/ssl_server.cpp.o
[ 47%] Building CXX object CMakeFiles/cppserver.dir/source/server/asio/service.cpp.o
[ 48%] Building CXX object CMakeFiles/cppserver.dir/source/server/asio/ssl_context.cpp.o
[ 49%] Building CXX object CMakeFiles/cppserver.dir/source/server/asio/tcp_resolver.cpp.o
[ 50%] Building CXX object CMakeFiles/cppserver.dir/source/server/asio/ssl_session.cpp.o
[ 50%] Building CXX object CMakeFiles/cppserver.dir/source/server/asio/tcp_server.cpp.o
[ 50%] Building CXX object CMakeFiles/cppserver.dir/source/server/asio/tcp_session.cpp.o
/home/qiyuan/Downloads/CppServer/source/server/asio/service.cpp: In static member function ‘static void CppServer::Asio::Service::ServiceThread(const std::shared_ptr<CppServer::Asio::Service>&, const std::shared_ptr<asio::io_context>&)’:
/home/qiyuan/Downloads/CppServer/source/server/asio/service.cpp:218:5: error: ‘OPENSSL_thread_stop’ was not declared in this scope
     OPENSSL_thread_stop();
     ^~~~~~~~~~~~~~~~~~~
/home/qiyuan/Downloads/CppServer/source/server/asio/service.cpp:218:5: note: suggested alternative: ‘OPENSSL_realloc’
     OPENSSL_thread_stop();
     ^~~~~~~~~~~~~~~~~~~
     OPENSSL_realloc
[ 51%] Building CXX object CMakeFiles/cppserver.dir/source/server/asio/timer.cpp.o
CMakeFiles/cppserver.dir/build.make:62: recipe for target 'CMakeFiles/cppserver.dir/source/server/asio/service.cpp.o' failed
make[2]: *** [CMakeFiles/cppserver.dir/source/server/asio/service.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:899: recipe for target 'CMakeFiles/cppserver.dir/all' failed
make[1]: *** [CMakeFiles/cppserver.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

Cannot build on raspberry / UbuntuServer64

While trying to compile on a tiny-but-nice Raspi3, with Ubuntu-server 64bits installed, I get stuck on this compilation:

/home/XXXX/CppServer/modules/CppCommon/source/time/timestamp.cpp: In static member function ‘static uint64_t CppCommon::Timestamp::rdts()’:
/home/XXXX/CppServer/modules/CppCommon/source/time/timestamp.cpp:218:1: error: no return statement in function returning non-void [-Werror=return-type]
}
^

Looking in source code, I can see that:

uint64_t Timestamp::rdts()
{
#if defined(_MSC_VER)
return __rdtsc();
#elif defined(i386)
uint64_t x;
asm volatile (".byte 0x0f, 0x31" : "=A" (x));
return x;
#elif defined(x86_64)
unsigned hi, lo;
asm volatile ("rdtsc" : "=a"(lo), "=d"(hi));
return ((uint64_t)lo) | (((uint64_t)hi) << 32);
#endif
}

As you can see, all defines concern other platforms, so Linux compilation leads to an empty function, which obviously is not right.

I am very suprised, as I already compiled successfully CppServer on my station which is on Ubuntu (Mate).

Here is the ouput beginning of ./unix.sh command (on the faulty Raspi):

-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.13") found components: doxygen missing components: dot
-- The System identification is Linux-5.3.0-1022-raspi2 Linux 5.3.0-1022-raspi2 Platform/Linux
-- Found OpenSSL: /usr/lib/aarch64-linux-gnu/libcrypto.so (found version "1.1.1")
-- The System identification is Linux-5.3.0-1022-raspi2 Linux 5.3.0-1022-raspi2 Platform/Linux
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - done
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- The System identification is Linux-5.3.0-1022-raspi2 Linux 5.3.0-1022-raspi2 Platform/Linux
-- Found LIBBFD: /usr/lib/aarch64-linux-gnu/libbfd.so
-- Found LIBDL: /usr/lib/aarch64-linux-gnu/libdl.so
-- Found LIBRT: /usr/lib/aarch64-linux-gnu/librt.so
-- Found LIBUUID: /usr/lib/aarch64-linux-gnu/libuuid.so
-- Could NOT find LIBVLD (missing: LIBVLD_LIBRARY)
-- OpenSSL version: 1.1.1 /usr/include /usr/lib/aarch64-linux-gnu/libssl.so;/usr/lib/aarch64-linux-gnu/libcrypto.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/XXXXX/CppServer/temp

Any clue?
Thanks a lot

Build error for Visual Studio - libcrypto.lib LNK2019 linker error

I tried building the project on Windows 10 with a newly installed VS2019 and followed the build instructions. The cppserver.vcxproj builds, but for the examples and performance projects I get a lot of linker errors to libcrypto.lib.

Error

libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function
        capi_list_certs [C:\Data\Documents\C++\CppServer\temp\cppserver-example-http_client.vcxproj]

Initial output of vs.bat

C:\Data\Documents\C++\CppServer\build>vs.bat
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.18363.
-- The C compiler identification is MSVC 19.25.28614.0
-- The CXX compiler identification is MSVC 19.25.28614.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- The System identification is Windows-10.0.18363 Windows 10.0.18363 Platform/Windows
-- Found OpenSSL: optimized;C:/Data/Documents/C++/CppServer/modules/OpenSSL/VS/lib/libcrypto.lib;debug;C:/Program Files/OpenSSL-Win64/lib/VC/static/libcrypto64MTd.lib (found version "1.1.1d")
-- Could NOT find Crypt (missing: CRYPT_LIBRARY CRYPT_INCLUDE_DIR)
-- Could NOT find WinSock (missing: WINSOCK_LIBRARY WINSOCK2_LIBRARY WINSOCK_INCLUDE_DIR)
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- The System identification is Windows-10.0.18363 Windows 10.0.18363 Platform/Windows
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - failed
-- Looking for fseeko
-- Looking for fseeko - not found
-- Looking for unistd.h
-- Looking for unistd.h - not found
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- The System identification is Windows-10.0.18363 Windows 10.0.18363 Platform/Windows
-- Could NOT find DbgHelp (missing: DBGHELP_LIBRARY DBGHELP_INCLUDE_DIR)
-- Could NOT find RPC (missing: RPC_LIBRARY RPC_INCLUDE_DIR)
-- Could NOT find Userenv (missing: USERENV_LIBRARY USERENV_INCLUDE_DIR)
-- Found LIBVLD: C:/Data/Documents/C++/CppServer/modules/CppCommon/modules/vld/vld.lib
-- OpenSSL version: 1.1.1d C:/Data/Documents/C++/CppServer/modules/OpenSSL/VS/include optimized;C:/Data/Documents/C++/CppServer/modules/OpenSSL/VS/lib/libssl.lib;debug;C:/Program Files/OpenSSL-Win64/lib/VC/static/libssl64MTd.lib;C:/Data/Documents/C++/CppServer/modules/OpenSSL/VS/lib/libcrypto.lib;C:/Program Files/OpenSSL-Win64/lib/VC/static/libcrypto64MTd.lib
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Data/Documents/C++/CppServer/temp
Microsoft (R) Build Engine version 16.5.0+d4cbfca49 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

As you can see from the output I tried installing Win64 OpenSSL 1.1.1 g from https://slproweb.com/products/Win32OpenSSL.html, sadly that didn't help.
The libcrypto.lib is present in the folder CppServer\modules\OpenSSL\VS\lib\libcrypto.lib, so I think there were no problems with gil (I ran gil update on a clean repo in admin mode).

What am I missing here?

performances

Hello,

I just looked over your repo and it's pretty amazing. Congrats ! All interfaces looks pretty nice and self explanatory.

What I'm wonder it's the performance of this servers from a memory usage and requests/second they can serve point of view.

Looking to your results and on what machine you run the tests I see the HTTP/HTTPS server performances being very poor. Have you compared your results with other solutions ?

For example for websocket have you compared the HTTP and websocket performances with https://github.com/uNetworking/uWebSockets which seems a strong candidate ?

Kind regards,
Silviu

size_t, 32 or 64 bits

Observation,
Looking at the code ws.cpp (and other ones). The "size_t" used all over. I guess the assumption is, the compiler will be 32 or 64 environment.

ws.h
size_t _ws_payload_size{0};
if used in 32 bit environment will not work as intended and will have side effects.

payload = (((size_t)_ws_receive_buffer[2] << 56) | ((size_t)_ws_receive_buffer[3] << 48) | ((size_t)_ws_receive_buffer[4] << 40) | ((size_t)_ws_receive_buffer[5] << 32) | ((size_t)_ws_receive_buffer[6] << 24) | ((size_t)_ws_receive_buffer[7] << 16) | ((size_t)_ws_receive_buffer[8] << 8) | ((size_t)_ws_receive_buffer[9] << 0));
_ws_header_size = 10 + (mask ? 4 : 0);
_ws_payload_size = payload;

It is preferable to explicitly define the "payload" to be "unsigned int 64 bit", as protocol call for.

Can you recommend a technique for deferring a response to another thread?

I'm wondering if you could suggest a strategy to defer a response to another thread. Consider where a response is expensive and needs to be computed. I don't want to block the service threads. Since the onReceivedRequest is a method of HttpSession I can't take a reference to its shared_ptr and ensure it's continued existence if the client closes the other end and the session is disconnected.

I've worked around that by making a subclass of HttpSession that contains a reference to the shared pointer returned by HttpServer::CreateSession(). It's a hack but mostly works.

An additional issue that will result if I'm holding a reference to the session is a race when a client disconnects on timeout and before onDisconnect is called. The deferred response might become available and be written to the file descriptor that has since been opened to a new client, thus passing data to a client unrelated to the original session.

Data race in TCPSession

_server->_bytes_sent += sent; and _server->_bytes_received += received; could be called from different sockets on different threads.

HTTP server silently drops some requests

I'm seeing that some GET requests get silently dropped by the server, e.g. I see the request in WireShark, but HttpSession::onReceivedRequest method doesn't get called. The same exact request retried in a few seconds works. I wonder what's the best way to troubleshoot this problem.

GetSystemTimePreciseAsFileTime Win 7

I get this error on Win7. I defined _WIN32_WINNT_WIN=0x0601 but the error is still there.
Are you sure your macros is working correctly?
image
This API is only called in your lib

linux install

How can I install CppServer on a system. So it can be used with my own cmake project.
I tried using cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local ..

and when I do make install
it only copies the binary's to CppServer/bin

it looks like the CMakelists.txt file doesn't have install targets for the headers and lib.

Building on Ubuntu 20.04 LTS

When building the library on Ubuntu 20.04 LTS, I needed to install the following packages before the built went through:

  • doxygen
  • libbfd-dev (which actually installed Paket binutils-dev)
  • uuid-dev

Yes, binutils-dev and uuid-dev are listed as prerequistes in the main README.md. But I must admit, that I overread these at first. I recommend changing the lines:

* Linux (binutils-dev uuid-dev libssl-dev)
* OSX (openssl)

to:

* Linux specific:
  * binutils-dev
  * uuid-dev
  * libssl-dev
  * doxygen (for building the documentation)
* OSX specific:
  * openssl

During the build, I also got this warning/error:

-- Could NOT find LIBVLD (missing: LIBVLD_LIBRARY)

However, this did not stop the build from running through. Is LIBVLD no more necessary?

The pre-installed OpenSSL library was found during the built:

-- OpenSSL version: 1.1.1f /usr/include /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so

Nonetheless, during gil update during the install, OpenSSL was downloaded (precompiled for Windows?) as a module. The binaries compiled during the built use the system OpenSSL library, though. I am always a bit scared, if a library is present twice (once in the system, once in a local version), as this can lead to serious issues later, when one version of the library is used for compilation and the other version is used for linking. I removed OpenSSL from the modules directory and the compile still went through, though.

People, that also have the Boost C++ library installed, might want to use boost::asio instead of Standalone libasio. You could add that as a configuration option, too, or autodetect an installed and recent enough boost and then use its asio automatically. I believe, the major difference between standalone libasio and boost::asio is the path of the include files (for example asio.hpp become boost/asio.hpp) and the namespace (boost::asio vs. asio). It shouldn't be hard to adapt between the two via a few #ifdef's.

Unfortunately, the header files and libraries are not automatically installed into the typical system-wide directories /usr/local/include and /usr/local/lib. Furthermore, your libraries hold very generic names like time/time.h or utility/iostream.h, which are very near hits on system include files like <time.h>, <utility> or <iostream>. So that more people can base their work on your nice libraries, I strongly recommend, that you choose a unique path prefix like chronoxor.

Unfortunately, adding that prefix would make your includes in the CppServer projekt very long, like chronoxor/server/http/http_response.h. I believe, you could leave out the server subdirectory. That name is even misleading, as you also implement the client side! chronoxor/http/http_response.h is still unique and clear enough. You could even leave out the http_ prefix on the files in the http directory and the ws_ prefix on the files in the ws directory. chronoxor/http/client_ssl.h should be clear enough to everybody :-)

Thank you again for the good work 🥇

How do you actually link this to your own project?

Hi,
This seems like a trivially simple question, but I haven't been able to find a solution for this anywhere. I have my own project that uses Gnu Make and I want to use a few of the modules from this package.

For example, assume that I copy the Asio service example from the README into a new file outside of the CppServer project:

#include "server/asio/service.h"
#include "threads/thread.h"

#include <iostream>

int main(int argc, char** argv)
{
    ...

What are the steps to actually link and build this? I managed to convert things to GMake using cmake -G "Unix Makefiles", but these files have no concept of or reference to the source files. It seems like the CppServer project is only built around creating its own internal example files. Any help is greatly appreciated.

Thank you

Data race in SSLClient

Testing an app built by clang with thread sanitizer showed a data race in ssl_client.cpp:
Imagine that while receiving data, an error occurs, it causes calling Disconnect, that causes calling onReset, where _pimpl is reset. But at the same time a different thread can try send data, using any of Send methods, that calls pimpl() method, that returns a reference, that might be reset in onReset method.

build with vs2017

environment: vs2017 cmake3.19 win10
cmake output error:
-- The System identification is Windows 10.0.18363 Platform/Windows
Found OpenSSL: D:fegateway/CppServer/modules/OpenSSL/VSbbcrypto.lib (found version "1.1.1g")
Could NOT find Crypt (missing: CRYPT_LIBRARY CRYPT_INCLUDE_DIR)
Could NOT find WinSock (missing: WINSOCK_LIBRARY WINSOCK2_LIBRARY WINSOCK_INCLUDE_DIR)
Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
CMake Error at modules/CppBenchmark/CMakeLists.txt:24 (include):
include could not find load file:

SetCompilerFeatures

CMake Error at modules/CppBenchmark/CMakeLists.txt:25 (include):
include could not find load file:

SetCompilerWarnings

CMake Error at modules/CppBenchmark/CMakeLists.txt:26 (include):
include could not find load file:

SetPlatformFeatures

CMake Error at C:/Program Files/CMake/cmake-3.19/Modules/SystemInformation.cmake:16 (file):
file failed to open for writing (No such file or directory):

D:fegateway/CppServer/modules/CppBenchmark/

Call Stack (most recent call first):
modules/CppBenchmark/CMakeLists.txt:27 (include)

CMake Error at C:/Program Files/CMake/cmake-3.19/Modules/SystemInformation.cmake:18 (file):
file failed to open for writing (No such file or directory):

D:fegateway/CppServer/modules/CppBenchmark/

Call Stack (most recent call first):
modules/CppBenchmark/CMakeLists.txt:27 (include)

CMake Error at C:/Program Files/CMake/cmake-3.19/Modules/SystemInformation.cmake:20 (file):
file failed to open for writing (No such file or directory):

D:fegateway/CppServer/modules/CppBenchmark/

Call Stack (most recent call first):
modules/CppBenchmark/CMakeLists.txt:27 (include)

CMake Error at C:/Program Files/CMake/cmake-3.19/Modules/SystemInformation.cmake:24 (file):
file failed to open for writing (No such file or directory):

D:fegateway/CppServer/modules/CppBenchmark/

Call Stack (most recent call first):
modules/CppBenchmark/CMakeLists.txt:27 (include)

CMake Error at C:/Program Files/CMake/cmake-3.19/Modules/SystemInformation.cmake:24 (file):
file failed to open for writing (No such file or directory):

D:fegateway/CppServer/modules/CppBenchmark/

Call Stack (most recent call first):
modules/CppBenchmark/CMakeLists.txt:27 (include)
.........
.........

Catch2 package issue when clone and building

Hi @chronoxor

There are 2 issues when using the external package Catch2:

1: The branch name change from 'master' to 'devel', when python gil clone this package will show can't find this package, I clone the latest 'devel' to modules files to solve this problem.

2: The latest Catch2 package remove the file single_include, so when building this project it will show can't find this file when building.

First problem:

Working path: /Users/chihungchung/Documents/CppServer
Discover git links: /Users/chihungchung/Documents/CppServer/.gitlinks
Running git clone https://github.com/catchorg/Catch2.git branch "master" into /Users/chihungchung/Documents/CppServer/modules/Catch2
Cloning into '/Users/chihungchung/Documents/CppServer/modules/Catch2'...
fatal: Remote branch master not found in upstream origin
Traceback (most recent call last):
  File "/Users/chihungchung/opt/anaconda3/bin/gil.py", line 412, in <module>
    sys.exit(main())
  File "/Users/chihungchung/opt/anaconda3/bin/gil.py", line 401, in main
    context.clone()
  File "/Users/chihungchung/opt/anaconda3/bin/gil.py", line 155, in clone
    self.git_clone(value.path, value.repo, value.branch, args)
  File "/Users/chihungchung/opt/anaconda3/bin/gil.py", line 308, in git_clone
    raise Exception("Failed to run git clone %s branch \"%s\" into %s" % (repo, branch, path))
Exception: Failed to run git clone https://github.com/catchorg/Catch2.git branch "master" into /Users/chihungchung/Documents/CppServer/modules/Catch2

Second problem:
WhatsApp Image 2020-10-28 at 23 41 33

May be I clone the older branch of Catch2 can solve this problem?

Compiling error on Ubuntu 16.04

Dear chronoxor,

When I try to build CppServer on Ubuntu 16.04, it got an error below.
Could you know the environment and compiler to build it?

Thanks!


-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- The System identification is Linux-4.15.0-50-generic Linux 4.15.0-50-generic Platform/Linux
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libssl.a;/usr/lib/x86_64-linux-gnu/libcrypto.a (found version "1.0.2g")
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- The System identification is Linux-4.15.0-50-generic Linux 4.15.0-50-generic Platform/Linux
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - done
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- The System identification is Linux-4.15.0-50-generic Linux 4.15.0-50-generic Platform/Linux
-- Found LIBBFD: /usr/lib/x86_64-linux-gnu/libbfd.so
-- Found LIBDL: /usr/lib/x86_64-linux-gnu/libdl.so
-- Found LIBRT: /usr/lib/x86_64-linux-gnu/librt.so
-- Found LIBUUID: /usr/lib/x86_64-linux-gnu/libuuid.so
-- Could NOT find LIBVLD (missing: LIBVLD_LIBRARY)
-- Configuring done
CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:62 (add_library):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:107 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:80 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at CMakeLists.txt:95 (add_executable):
CXX_STANDARD is set to invalid value '17'

CMake Error at modules/asio.cmake:5 (add_library):
CXX_STANDARD is set to invalid value '17'
Call Stack (most recent call first):
modules/CMakeLists.txt:1 (include)

CMake Error at modules/cpp-optparse.cmake:11 (add_library):
CXX_STANDARD is set to invalid value '17'
Call Stack (most recent call first):
modules/CMakeLists.txt:3 (include)

CMake Error at modules/CppBenchmark/CMakeLists.txt:46 (add_library):
CXX_STANDARD is set to invalid value '17'

CMake Error at modules/CppCommon/CMakeLists.txt:70 (add_library):
CXX_STANDARD is set to invalid value '17'

CMake Error at modules/CppCommon/modules/fmt.cmake:5 (add_library):
CXX_STANDARD is set to invalid value '17'
Call Stack (most recent call first):
modules/CppCommon/modules/CMakeLists.txt:3 (include)

-- Generating done

Cannot start server

command : g++ udp_echo_server.cpp
Error :


In file included from udp_echo_server.cpp:11:0:
server/asio/udp_server.h:56:11: error: ‘CppCommon’ does not name a type
     const CppCommon::UUID& id() const noexcept { return _id; }
           ^~~~~~~~~
server/asio/udp_server.h:140:35: error: ‘std::string_view’ has not been declared
     virtual size_t Multicast(std::string_view text) { return Multicast(text.data(), text.size()); }
                                   ^~~~~~~~~~~
server/asio/udp_server.h:149:69: error: ‘CppCommon’ does not name a type
     virtual size_t Multicast(const void* buffer, size_t size, const CppCommon::Timespan& timeout);
                                                                     ^~~~~~~~~
server/asio/udp_server.h:149:88: error: expected unqualified-id before ‘&’ token
 Multicast(const void* buffer, size_t size, const CppCommon::Timespan& timeout);
                                                                     ^
server/asio/udp_server.h:149:88: error: expected ‘)’ before ‘&’ token
server/asio/udp_server.h:149:88: error: expected ‘;’ at end of member declaration
server/asio/udp_server.h:149:90: error: ‘timeout’ does not name a type; did you mean ‘timer_t’?
 Multicast(const void* buffer, size_t size, const CppCommon::Timespan& timeout);
                                                                       ^~~~~~~
                                                                                          timer_t
server/asio/udp_server.h:156:35: error: ‘std::string_view’ has not been declared
     virtual size_t Multicast(std::string_view text, const CppCommon::Timespan& timeout) { return Multicast(text.data(), text.size(), timeout); }
                                   ^~~~~~~~~~~
server/asio/udp_server.h:156:59: error: ‘CppCommon’ does not name a type
     virtual size_t Multicast(std::string_view text, const CppCommon::Timespan& timeout) { return Multicast(text.data(), text.size(), timeout); }
                                                           ^~~~~~~~~
server/asio/udp_server.h:156:78: error: expected unqualified-id before ‘&’ token
 al size_t Multicast(std::string_view text, const CppCommon::Timespan& timeout) { return Multicast(text.data(), text.size(), timeout); }
                                                                     ^
server/asio/udp_server.h:156:78: error: expected ‘)’ before ‘&’ token
server/asio/udp_server.h:156:78: error: expected ‘;’ at end of member declaration
server/asio/udp_server.h:156:20: error: ‘virtual size_t CppServer::Asio::UDPServer::Multicast(...) &’ cannot be overloaded
     virtual size_t Multicast(std::string_view text, const CppCommon::Timespan& timeout) { return Multicast(text.data(), text.size(), timeout); }
                    ^~~~~~~~~
server/asio/udp_server.h:149:20: error: with ‘virtual size_t CppServer::Asio::UDPServer::Multicast(...) &’
     virtual size_t Multicast(const void* buffer, size_t size, const CppCommon::Timespan& timeout);
                    ^~~~~~~~~
server/asio/udp_server.h:156:80: error: ‘timeout’ does not name a type; did you mean ‘timer_t’?
  size_t Multicast(std::string_view text, const CppCommon::Timespan& timeout) { return Multicast(text.data(), text.size(), timeout); }
                                                                     ^~~~~~~
                                                                                timer_t
In file included from udp_echo_server.cpp:11:0:
server/asio/udp_server.h:170:38: error: ‘std::string_view’ has not been declared
     virtual bool MulticastAsync(std::string_view text) { return MulticastAsync(text.data(), text.size()); }
                                      ^~~~~~~~~~~
server/asio/udp_server.h:186:71: error: ‘std::string_view’ has not been declared
   virtual size_t Send(const asio::ip::udp::endpoint& endpoint, std::string_view text) { return Send(endpoint, text.data(), text.size()); }
                                                                     ^~~~~~~~~~~
server/asio/udp_server.h:196:105: error: ‘CppCommon’ does not name a type
 ip::udp::endpoint& endpoint, const void* buffer, size_t size, const CppCommon::Timespan& timeout);
                                                                     ^~~~~~~~~
server/asio/udp_server.h:196:124: error: expected unqualified-id before ‘&’ token
 endpoint, const void* buffer, size_t size, const CppCommon::Timespan& timeout);
                                                                     ^
server/asio/udp_server.h:196:124: error: expected ‘)’ before ‘&’ token
server/asio/udp_server.h:196:124: error: expected ‘;’ at end of member declaration
server/asio/udp_server.h:196:126: error: ‘timeout’ does not name a type; did you mean ‘timer_t’?
 endpoint, const void* buffer, size_t size, const CppCommon::Timespan& timeout);
                                                                       ^~~~~~~
                                                                                                                              timer_t
server/asio/udp_server.h:204:71: error: ‘std::string_view’ has not been declared
   virtual size_t Send(const asio::ip::udp::endpoint& endpoint, std::string_view text, const CppCommon::Timespan& timeout) { return Send(endpoint, text.data(), text.size(), timeout); }
                                                                     ^~~~~~~~~~~
server/asio/udp_server.h:204:95: error: ‘CppCommon’ does not name a type
 nst asio::ip::udp::endpoint& endpoint, std::string_view text, const CppCommon::Timespan& timeout) { return Send(endpoint, text.data(), text.size(), timeout); }
                                                                     ^~~~~~~~~
server/asio/udp_server.h:204:114: error: expected unqualified-id before ‘&’ token
 endpoint& endpoint, std::string_view text, const CppCommon::Timespan& timeout) { return Send(endpoint, text.data(), text.size(), timeout); }
                                                                     ^
server/asio/udp_server.h:204:114: error: expected ‘)’ before ‘&’ token
server/asio/udp_server.h:204:114: error: expected ‘;’ at end of member declaration
server/asio/udp_server.h:204:20: error: ‘virtual size_t CppServer::Asio::UDPServer::Send(...) &’ cannot be overloaded
     virtual size_t Send(const asio::ip::udp::endpoint& endpoint, std::string_view text, const CppCommon::Timespan& timeout) { return Send(endpoint, text.data(), text.size(), timeout); }
                    ^~~~
server/asio/udp_server.h:196:20: error: with ‘virtual size_t CppServer::Asio::UDPServer::Send(...) &’
     virtual size_t Send(const asio::ip::udp::endpoint& endpoint, const void* buffer, size_t size, const CppCommon::Timespan& timeout);
                    ^~~~
server/asio/udp_server.h:204:116: error: ‘timeout’ does not name a type; did you mean ‘timer_t’?
 dpoint& endpoint, std::string_view text, const CppCommon::Timespan& timeout) { return Send(endpoint, text.data(), text.size(), timeout); }
                                                                     ^~~~~~~
                                                                                                                    timer_t
server/asio/udp_server.h:220:74: error: ‘std::string_view’ has not been declared
 irtual bool SendAsync(const asio::ip::udp::endpoint& endpoint, std::string_view text) { return SendAsync(endpoint, text.data(), text.size()); }
                                                                     ^~~~~~~~~~~
server/asio/udp_server.h:246:96: error: ‘CppCommon’ does not name a type
 asio::ip::udp::endpoint& endpoint, void* buffer, size_t size, const CppCommon::Timespan& timeout);
                                                                     ^~~~~~~~~
server/asio/udp_server.h:246:115: error: expected unqualified-id before ‘&’ token
 oint& endpoint, void* buffer, size_t size, const CppCommon::Timespan& timeout);
                                                                     ^
server/asio/udp_server.h:246:115: error: expected ‘)’ before ‘&’ token
server/asio/udp_server.h:246:115: error: expected ‘;’ at end of member declaration
server/asio/udp_server.h:246:117: error: ‘timeout’ does not name a type; did you mean ‘timer_t’?
 oint& endpoint, void* buffer, size_t size, const CppCommon::Timespan& timeout);
                                                                       ^~~~~~~
                                                                                                                     timer_t
server/asio/udp_server.h:254:87: error: ‘CppCommon’ does not name a type
 tring Receive(asio::ip::udp::endpoint& endpoint, size_t size, const CppCommon::Timespan& timeout);
                                                                     ^~~~~~~~~
server/asio/udp_server.h:254:106: error: expected unqualified-id before ‘&’ token
 :ip::udp::endpoint& endpoint, size_t size, const CppCommon::Timespan& timeout);
                                                                     ^
server/asio/udp_server.h:254:106: error: expected ‘)’ before ‘&’ token
server/asio/udp_server.h:254:106: error: expected ‘;’ at end of member declaration
server/asio/udp_server.h:254:25: error: ‘virtual std::__cxx11::string CppServer::Asio::UDPServer::Receive(...) &’ cannot be overloaded
     virtual std::string Receive(asio::ip::udp::endpoint& endpoint, size_t size, const CppCommon::Timespan& timeout);
                         ^~~~~~~
server/asio/udp_server.h:246:20: error: with ‘virtual size_t CppServer::Asio::UDPServer::Receive(...) &’
     virtual size_t Receive(asio::ip::udp::endpoint& endpoint, void* buffer, size_t size, const CppCommon::Timespan& timeout);
                    ^~~~~~~
server/asio/udp_server.h:254:108: error: ‘timeout’ does not name a type; did you mean ‘timer_t’?
 :ip::udp::endpoint& endpoint, size_t size, const CppCommon::Timespan& timeout);
                                                                       ^~~~~~~
                                                                                                            timer_t
server/asio/udp_server.h:326:5: error: ‘CppCommon’ does not name a type
     CppCommon::UUID _id;
     ^~~~~~~~~
In file included from udp_echo_server.cpp:11:0:
server/asio/udp_server.h: In member function ‘virtual size_t CppServer::Asio::UDPServer::Multicast(int)’:
server/asio/udp_server.h:140:77: error: request for member ‘data’ in ‘text’, which is of non-class type ‘int’
 ual size_t Multicast(std::string_view text) { return Multicast(text.data(), text.size()); }
                                                                     ^~~~
server/asio/udp_server.h:140:90: error: request for member ‘size’ in ‘text’, which is of non-class type ‘int’
 ulticast(std::string_view text) { return Multicast(text.data(), text.size()); }
                                                                      ^~~~
In file included from udp_echo_server.cpp:11:0:
server/asio/udp_server.h: In member function ‘virtual bool CppServer::Asio::UDPServer::MulticastAsync(int)’:
server/asio/udp_server.h:170:85: error: request for member ‘data’ in ‘text’, which is of non-class type ‘int’
  MulticastAsync(std::string_view text) { return MulticastAsync(text.data(), text.size()); }
                                                                     ^~~~
server/asio/udp_server.h:170:98: error: request for member ‘size’ in ‘text’, which is of non-class type ‘int’
 ync(std::string_view text) { return MulticastAsync(text.data(), text.size()); }
                                                                      ^~~~
server/asio/udp_server.h: In member function ‘virtual size_t CppServer::Asio::UDPServer::Send(const endpoint&, int)’:
server/asio/udp_server.h:186:118: error: request for member ‘data’ in ‘text’, which is of non-class type ‘int’
 oint& endpoint, std::string_view text) { return Send(endpoint, text.data(), text.size()); }
                                                                     ^~~~
server/asio/udp_server.h:186:131: error: request for member ‘size’ in ‘text’, which is of non-class type ‘int’
 nt, std::string_view text) { return Send(endpoint, text.data(), text.size()); }
                                                                      ^~~~
server/asio/udp_server.h: In member function ‘virtual bool CppServer::Asio::UDPServer::SendAsync(const endpoint&, int)’:
server/asio/udp_server.h:220:126: error: request for member ‘data’ in ‘text’, which is of non-class type ‘int’
  endpoint, std::string_view text) { return SendAsync(endpoint, text.data(), text.size()); }
                                                                     ^~~~
server/asio/udp_server.h:220:139: error: request for member ‘size’ in ‘text’, which is of non-class type ‘int’
 td::string_view text) { return SendAsync(endpoint, text.data(), text.size()); }
                                                                      ^~~~
udp_echo_server.cpp: In member function ‘virtual void EchoServer::onReceived(const endpoint&, const void*, size_t)’:
udp_echo_server.cpp:33:36: error: no matching function for call to ‘EchoServer::SendAsync(const endpoint&, std::__cxx11::string&)’
         SendAsync(endpoint, message);
                                    ^
In file included from udp_echo_server.cpp:11:0:
server/asio/udp_server.h:213:18: note: candidate: virtual bool CppServer::Asio::UDPServer::SendAsync(const endpoint&, const void*, size_t)
     virtual bool SendAsync(const asio::ip::udp::endpoint& endpoint, const void* buffer, size_t size);
                  ^~~~~~~~~
server/asio/udp_server.h:213:18: note:   candidate expects 3 arguments, 2 provided
server/asio/udp_server.h:220:18: note: candidate: virtual bool CppServer::Asio::UDPServer::SendAsync(const endpoint&, int)
     virtual bool SendAsync(const asio::ip::udp::endpoint& endpoint, std::string_view text) { return SendAsync(endpoint, text.data(), text.size()); }
                  ^~~~~~~~~
server/asio/udp_server.h:220:18: note:   no known conversion for argument 2 from ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ to ‘int’

gil update dosn't work on Windows10

Hello,
I download and run properly CppServer on Ubuntu VM (after a lot of struggling to find the correct way to run everything!)
Now I'm trying to run on windows but still some problem with this "gil" command.
I installed it with pip3 install gil Then when I change directory and I move to CppServer folder (cd c:\.......\CppServer) and I try to launch gil update it just doesn't work, error from windows cmd:
gil is not recognized as an internal or external command

Also tryed with admin permission, nothign changed.

I'm using python3, pip3 and all the other tools reccomanded (cmake, gcc, ...)

A guide to run PROPERLY gil on windows will be great.
On Ubuntu also there was some struggle to run it, but fixed updating apt, OS and restarting the machine some times...

Thank you

possible cmake issue

I think the fact that include(SetCompilerWarnings) it's missing in the main CMakeLists it's a mistake.
If you add it anyway the project is not compiling because of several issues like:

cppserver/source/server/asio/ssl_client.cpp:35:11: error: field '_sending' will be initialized after field '_recive_buffer' [-Werror,-Wreorder]
          _sending(false),
          ^
cppserver/source/server/asio/ssl_client.cpp:61:11: error: field '_sending' will be initialized after field '_recive_buffer' [-Werror,-Wreorder]
          _sending(false),
          ^

Does not compile in a bunch of Visual Studio and Debian 10

Hello! I am trying to compile an example of TCP chat server from Visual Studio in connection to Debian 10. But when compiling on the Linux side, I get the following errors:

1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function void __gnu_cxx::new_allocator<CppServer::Asio::Service>::construct<CppServer::Asio::Service>(CppServer::Asio::Service*)': 1>/usr/include/c++/8/bits/shared_ptr_base.h(541): error : undefined reference to CppServer::Asio::Service::Service(int, bool)'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function CTCPServer::TCPServer(std::shared_ptr<CppServer::Asio::Service> const&, int, CppServer::Asio::InternetProtocol)': 1>D:\MainFiles\desctop\BlockadeClassic\MAIN_SERVER_CLASSIC_LINUX\ServerHandler.h(45): error : undefined reference to CppServer::Asio::TCPServer::TCPServer(std::shared_ptrCppServer::Asio::Service const&, int, CppServer::Asio::InternetProtocol)'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function CppServer::Asio::TCPSession::Disconnect()': 1>/usr/include/CppServer/include/server/asio/tcp_session.h(75): error : undefined reference to CppServer::Asio::TCPSession::Disconnect(bool)'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function CTCPSession::TCPSession(std::shared_ptr<CppServer::Asio::TCPServer> const&)': 1>D:\MainFiles\desctop\BlockadeClassic\MAIN_SERVER_CLASSIC_LINUX\ServerHandler.h(9): error : undefined reference to CppServer::Asio::TCPSession::TCPSession(std::shared_ptrCppServer::Asio::TCPServer const&)'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function CppServer::Asio::Service::~Service()': 1>/usr/include/CppServer/include/server/asio/service.h(70): error : undefined reference to vtable for CppServer::Asio::Service'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function CppCommon::operator<<(std::ostream&, CppCommon::UUID const&)': 1>/usr/include/CppCommon/include/system/uuid.h(97): error : undefined reference to CppCommon::UUID::stringabi:cxx11 const'
1>/usr/bin/ld : error : /usr/include/CppCommon/include/system/uuid.h:97: undefined reference to CppCommon::UUID::string[abi:cxx11]() const' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function CppServer::Asio::TCPSession::~TCPSession()':
1>/usr/include/CppServer/include/server/asio/tcp_session.h(39): error : undefined reference to vtable for CppServer::Asio::TCPSession' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function asio::detail::io_object_impl<asio::detail::reactive_socket_serviceasio::ip::tcp, asio::executor>::~io_object_impl()':
1>/usr/include/asio/asio/include/asio/detail/io_object_impl.hpp(116): error : undefined reference to asio::detail::reactive_socket_service_base::destroy(asio::detail::reactive_socket_service_base::base_implementation_type&)' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function CppServer::Asio::TCPSession::~TCPSession()':
1>/usr/include/CppServer/include/server/asio/tcp_session.h(39): error : undefined reference to vtable for CppServer::Asio::TCPSession' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function asio::detail::io_object_impl<asio::detail::reactive_socket_serviceasio::ip::tcp, asio::executor>::~io_object_impl()':
1>/usr/include/asio/asio/include/asio/detail/io_object_impl.hpp(116): error : undefined reference to asio::detail::reactive_socket_service_base::destroy(asio::detail::reactive_socket_service_base::base_implementation_type&)' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function CppServer::Asio::Service::~Service()':
1>/usr/include/CppServer/include/server/asio/service.h(70): error : undefined reference to vtable for CppServer::Asio::Service' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function CppServer::Asio::TCPServer::~TCPServer()':
1>/usr/include/CppServer/include/server/asio/tcp_server.h(57): error : undefined reference to vtable for CppServer::Asio::TCPServer' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function asio::detail::io_object_impl<asio::detail::reactive_socket_serviceasio::ip::tcp, asio::executor>::~io_object_impl()':
1>/usr/include/asio/asio/include/asio/detail/io_object_impl.hpp(116): error : undefined reference to asio::detail::reactive_socket_service_base::destroy(asio::detail::reactive_socket_service_base::base_implementation_type&)' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function CppServer::Asio::TCPServer::~TCPServer()':
1>/usr/include/CppServer/include/server/asio/tcp_server.h(57): error : undefined reference to vtable for CppServer::Asio::TCPServer' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function asio::detail::io_object_impl<asio::detail::reactive_socket_serviceasio::ip::tcp, asio::executor>::~io_object_impl()':
1>/usr/include/asio/asio/include/asio/detail/io_object_impl.hpp(116): error : undefined reference to asio::detail::reactive_socket_service_base::destroy(asio::detail::reactive_socket_service_base::base_implementation_type&)' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function CppServer::Asio::Service::~Service()':
1>/usr/include/CppServer/include/server/asio/service.h(70): error : undefined reference to vtable for CppServer::Asio::Service' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function asio::error::get_system_category()':
1>/usr/include/asio/asio/include/asio/error.hpp(228): error : undefined reference to asio::system_category()' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function __static_initialization_and_destruction_0':
1>/usr/include/asio/asio/include/asio/error.hpp(261): error : undefined reference to asio::error::get_netdb_category()' 1>/usr/bin/ld : error : /usr/include/asio/asio/include/asio/error.hpp:264: undefined reference to asio::error::get_addrinfo_category()'
1>/usr/bin/ld : error : /usr/include/asio/asio/include/asio/error.hpp:267: undefined reference to asio::error::get_misc_category()' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o: in function __static_initialization_and_destruction_0':
1>/usr/include/asio/asio/include/asio/ssl/error.hpp(37): error : undefined reference to asio::error::get_ssl_category()' 1>/usr/bin/ld : error : /usr/include/asio/asio/include/asio/ssl/error.hpp:74: undefined reference to asio::ssl::error::get_stream_category()'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTI11CTCPSession[_ZTI11CTCPSession]+0x10): undefined reference to typeinfo for CppServer::Asio::TCPSession' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTI10CTCPServer[_ZTI10CTCPServer]+0x10): undefined reference to typeinfo for CppServer::Asio::TCPServer'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV11CTCPSession[_ZTV11CTCPSession]+0x28): undefined reference to CppServer::Asio::TCPSession::Send(void const*, unsigned long)' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV11CTCPSession[_ZTV11CTCPSession]+0x38): undefined reference to CppServer::Asio::TCPSession::Send(void const*, unsigned long, CppCommon::Timespan const&)'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV11CTCPSession[_ZTV11CTCPSession]+0x48): undefined reference to CppServer::Asio::TCPSession::SendAsync(void const*, unsigned long)' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV11CTCPSession[_ZTV11CTCPSession]+0x58): undefined reference to CppServer::Asio::TCPSession::Receive(void*, unsigned long)'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV11CTCPSession[_ZTV11CTCPSession]+0x60): undefined reference to CppServer::Asio::TCPSession::Receive[abi:cxx11](unsigned long)' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV11CTCPSession[_ZTV11CTCPSession]+0x68): undefined reference to CppServer::Asio::TCPSession::Receive(void*, unsigned long, CppCommon::Timespan const&)'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV11CTCPSession[_ZTV11CTCPSession]+0x70): undefined reference to CppServer::Asio::TCPSession::Receive[abi:cxx11](unsigned long, CppCommon::Timespan const&)' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV11CTCPSession[_ZTV11CTCPSession]+0x78): undefined reference to CppServer::Asio::TCPSession::ReceiveAsync()'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV10CTCPServer[_ZTV10CTCPServer]+0x20): undefined reference to CppServer::Asio::TCPServer::Start()' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV10CTCPServer[_ZTV10CTCPServer]+0x28): undefined reference to CppServer::Asio::TCPServer::Stop()'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV10CTCPServer[_ZTV10CTCPServer]+0x30): undefined reference to CppServer::Asio::TCPServer::Restart()' 1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV10CTCPServer[_ZTV10CTCPServer]+0x38): undefined reference to CppServer::Asio::TCPServer::Multicast(void const*, unsigned long)'
1>/usr/bin/ld : error : /home/nollin/projects/MAIN_SERVER_CLASSIC_LINUX/obj/x64/Release/ServerHandler.o:(.data.rel.ro._ZTV10CTCPServer[_ZTV10CTCPServer]+0x48): undefined reference to `CppServer::Asio::TCPServer::DisconnectAll()'

What could be wrong with Asio?
Sorry if I asked stupidity - after several days of trying to compile, my head is already cloudy.

libcrypto.lib unresolved external (certificate APIs) in Visual Studio build

Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store cppserver-performance-udp_multicast_server C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\libcrypto.lib(e_capi.obj) 1 and 437 others

I brought down the full project, followed all the build instructions, everything went well until about a quarter of the way through the full rebuild of \CppServer-master\temp\ALL_BUILD.vcxproj. I've run \CppServer-master\modules\OpenSSL\Vs.bat thinking it might be a bad OpenSSL build, but no make files were included for nmake nor was there an install nmake file. It looks like the libcrypto.lib came straight out of the reposirtiry as a prebuilt binary.

This is a Visual Studio Community 2019 (latest and greatest) machine running Windows 10 Enterprise (latest and greatest), 12 cores, 64 bit, 64 GB RAM, 64 TB storage.

This is the build dump:

1>------ Rebuild All started: Project: ZERO_CHECK, Configuration: Debug x64 ------
1>Checking Build System
2>------ Rebuild All started: Project: fmt (modules\fmt\fmt), Configuration: Debug x64 ------
3>------ Rebuild All started: Project: zlib (modules\zlib\zlib), Configuration: Debug x64 ------
4>------ Rebuild All started: Project: asio (modules\asio\asio), Configuration: Debug x64 ------
5>------ Rebuild All started: Project: cpp-optparse (modules\cpp-optparse\cpp-optparse), Configuration: Debug x64 ------
6>------ Skipped Rebuild All: Project: RUN_TESTS, Configuration: Debug x64 ------
6>Project not selected to build for this solution configuration
2>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/modules/CppCommon/modules/CMakeLists.txt
2>format.cc
3>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/modules/CppBenchmark/modules/CMakeLists.txt
4>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/modules/CMakeLists.txt
5>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/modules/CMakeLists.txt
3>adler32.c
4>asio.cpp
5>OptionParser.cpp
3>compress.c
3>crc32.c
3>deflate.c
3>gzclose.c
3>gzlib.c
3>gzread.c
3>gzwrite.c
3>infback.c
3>inffast.c
3>inflate.c
3>inftrees.c
3>trees.c
3>uncompr.c
3>zutil.c
3>Generating Code...
3>zlib.vcxproj -> C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\modules\CppBenchmark\modules\Debug\zlib.lib
2>posix.cc
7>------ Rebuild All started: Project: HdrHistogram (modules\HdrHistogram\HdrHistogram), Configuration: Debug x64 ------
7>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/modules/CppBenchmark/modules/CMakeLists.txt
7>hdr_encoding.c
5>cpp-optparse.vcxproj -> C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\modules\Debug\cpp-optparse.lib
7>hdr_histogram.c
7>hdr_histogram_log.c
4>asio_ssl.cpp
7>hdr_interval_recorder.c
7>hdr_thread.c
2>Generating Code...
7>hdr_time.c
7>hdr_writer_reader_phaser.c
7>Generating Code...
2>fmt.vcxproj -> C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\modules\CppCommon\modules\Debug\fmt.lib
8>------ Rebuild All started: Project: cppcommon (modules\CppCommon\cppcommon), Configuration: Debug x64 ------
8>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/modules/CppCommon/CMakeLists.txt
7>HdrHistogram.vcxproj -> C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\modules\CppBenchmark\modules\Debug\HdrHistogram.lib
9>------ Rebuild All started: Project: cppbenchmark (modules\CppBenchmark\cppbenchmark), Configuration: Debug x64 ------
8>token_bucket.cpp
9>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/modules/CppBenchmark/CMakeLists.txt
4>Generating Code...
9>barrier.cpp
9>benchmark.cpp
8>filecache.cpp
9>benchmark_base.cpp
8>reader.cpp
8>uint128.cpp
9>benchmark_pc.cpp
8>uint256.cpp
9>benchmark_threads.cpp
8>writer.cpp
8>exceptions_handler.cpp
9>console.cpp
9>context.cpp
8>fatal.cpp
9>context_pc.cpp
8>system_error.cpp
9>context_threads.cpp
8>directory.cpp
9>environment.cpp
9>executor.cpp
8>directory_iterator.cpp
9>launcher.cpp
8>file.cpp
9>launcher_console.cpp
8>path.cpp
9>phase_core.cpp
9>phase_metrics.cpp
8>symlink.cpp
9>phase_scope.cpp
8>math.cpp
9>reporter_console.cpp
8>memory.cpp
9>reporter_csv.cpp
8>encoding.cpp
8>string_utils.cpp
9>reporter_json.cpp
8>console.cpp
9>settings.cpp
9>Generating Code...
8>cpu.cpp
8>Generating Code...
9>Compiling...
9>system.cpp
8>Compiling...
8>dll.cpp
9>Generating Code...
9>cppbenchmark.vcxproj -> C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\modules\CppBenchmark\Debug\cppbenchmark.lib
8>environment.cpp
8>pipe.cpp
8>process.cpp
8>shared_memory.cpp
8>stack_trace.cpp
8>stack_trace_manager.cpp
8>stream.cpp
8>uuid.cpp
8>barrier.cpp
8>condition_variable.cpp
8>critical_section.cpp
8>event_auto_reset.cpp
8>event_manual_reset.cpp
8>file_lock.cpp
8>latch.cpp
8>mutex.cpp
8>named_condition_variable.cpp
8>named_critical_section.cpp
8>named_event_auto_reset.cpp
8>Generating Code...
8>Compiling...
8>named_event_manual_reset.cpp
8>named_mutex.cpp
8>named_rw_lock.cpp
8>named_semaphore.cpp
8>rw_lock.cpp
8>semaphore.cpp
8>thread.cpp
8>time.cpp
8>timestamp.cpp
8>timezone.cpp
8>Generating Code...
4>asio.vcxproj -> C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\modules\Debug\asio.lib
8>exceptions.cpp
8>exceptions.cpp
8>cppcommon.vcxproj -> C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\modules\CppCommon\Debug\cppcommon.lib
10>------ Rebuild All started: Project: cppserver, Configuration: Debug x64 ------
10>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
10>service.cpp
10>ssl_client.cpp
10>ssl_context.cpp
10>ssl_server.cpp
10>ssl_session.cpp
10>tcp_client.cpp
10>tcp_resolver.cpp
10>tcp_server.cpp
10>tcp_session.cpp
10>timer.cpp
10>udp_client.cpp
10>udp_resolver.cpp
10>udp_server.cpp
10>http_client.cpp
10>http_request.cpp
10>http_response.cpp
10>http_server.cpp
10>http_session.cpp
10>https_client.cpp
10>https_server.cpp
10>Generating Code...
10>Compiling...
10>https_session.cpp
10>ws.cpp
10>ws_client.cpp
10>ws_server.cpp
10>ws_session.cpp
10>wss_client.cpp
10>wss_server.cpp
10>wss_session.cpp
10>Generating Code...
10>cppserver.vcxproj -> C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver.lib
11>------ Rebuild All started: Project: cppserver-performance-udp_echo_client, Configuration: Debug x64 ------
12>------ Rebuild All started: Project: cppserver-performance-udp_echo_server, Configuration: Debug x64 ------
13>------ Rebuild All started: Project: cppserver-performance-udp_multicast_client, Configuration: Debug x64 ------
14>------ Rebuild All started: Project: cppserver-performance-udp_multicast_server, Configuration: Debug x64 ------
15>------ Rebuild All started: Project: cppserver-performance-ws_echo_client, Configuration: Debug x64 ------
16>------ Rebuild All started: Project: cppserver-performance-ws_echo_server, Configuration: Debug x64 ------
17>------ Rebuild All started: Project: cppserver-performance-ws_multicast_server, Configuration: Debug x64 ------
18>------ Rebuild All started: Project: cppserver-performance-wss_echo_client, Configuration: Debug x64 ------
12>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
13>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
14>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
11>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
12>udp_echo_server.cpp
13>udp_multicast_client.cpp
14>udp_multicast_server.cpp
11>udp_echo_client.cpp
18>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
18>wss_echo_client.cpp
15>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
16>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
17>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
15>ws_echo_client.cpp
16>ws_echo_server.cpp
17>ws_multicast_server.cpp
14>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
14>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
14>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
14>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
14>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
14>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
14>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
14>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
14>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
14>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-udp_multicast_server.exe : fatal error LNK1120: 9 unresolved externals
14>Done building project "cppserver-performance-udp_multicast_server.vcxproj" -- FAILED.
19>------ Rebuild All started: Project: cppserver-example-udp_echo_server, Configuration: Debug x64 ------
13>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
13>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
13>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
13>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
13>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
13>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
13>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
13>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
13>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
13>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-udp_multicast_client.exe : fatal error LNK1120: 9 unresolved externals
13>Done building project "cppserver-performance-udp_multicast_client.vcxproj" -- FAILED.
20>------ Rebuild All started: Project: cppserver-performance-wss_echo_server, Configuration: Debug x64 ------
11>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
11>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
11>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
11>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
11>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
11>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
11>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
11>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
11>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
11>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-udp_echo_client.exe : fatal error LNK1120: 9 unresolved externals
19>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
11>Done building project "cppserver-performance-udp_echo_client.vcxproj" -- FAILED.
21>------ Rebuild All started: Project: cppserver-performance-wss_multicast_client, Configuration: Debug x64 ------
12>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
12>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
12>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
12>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
12>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
12>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
12>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
12>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
12>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
12>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-udp_echo_server.exe : fatal error LNK1120: 9 unresolved externals
21>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
19>udp_echo_server.cpp
12>Done building project "cppserver-performance-udp_echo_server.vcxproj" -- FAILED.
22>------ Rebuild All started: Project: cppserver-performance-wss_multicast_server, Configuration: Debug x64 ------
20>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
21>wss_multicast_client.cpp
22>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
20>wss_echo_server.cpp
22>wss_multicast_server.cpp
16>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
16>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
16>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
16>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
16>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
16>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
16>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
16>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
16>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
16>cppcommon.lib(path.obj) : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryW referenced in function "public: static class CppCommon::Path __cdecl CppCommon::Path::home(void)" (?home@Path@CppCommon@@sa?AV12@XZ)
16>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-ws_echo_server.exe : fatal error LNK1120: 10 unresolved externals
16>Done building project "cppserver-performance-ws_echo_server.vcxproj" -- FAILED.
23>------ Rebuild All started: Project: cppserver-tests, Configuration: Debug x64 ------
18>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
23>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
18>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
18>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
18>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertCloseStore
18>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
18>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertEnumCertificatesInStore
18>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
18>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertFreeCertificateContext
18>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertOpenSystemStoreA referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
18>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
18>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
18>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
18>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
18>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-wss_echo_client.exe : fatal error LNK1120: 10 unresolved externals
18>Done building project "cppserver-performance-wss_echo_client.vcxproj" -- FAILED.
24>------ Rebuild All started: Project: cppserver-performance-ws_multicast_client, Configuration: Debug x64 ------
23>test.cpp
24>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
24>ws_multicast_client.cpp
15>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
15>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
15>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
15>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
15>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
15>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
15>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
15>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
15>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
15>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-ws_echo_client.exe : fatal error LNK1120: 9 unresolved externals
15>Done building project "cppserver-performance-ws_echo_client.vcxproj" -- FAILED.
25>------ Rebuild All started: Project: cppserver-example-asio_service, Configuration: Debug x64 ------
25>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
23>test_http.cpp
19>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
25>asio_service.cpp
19>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
19>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
19>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
19>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
19>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
19>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
19>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
19>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
19>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-udp_echo_server.exe : fatal error LNK1120: 9 unresolved externals
19>Done building project "cppserver-example-udp_echo_server.vcxproj" -- FAILED.
26>------ Rebuild All started: Project: cppserver-example-asio_timer, Configuration: Debug x64 ------
17>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
17>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
17>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
17>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
17>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
17>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
17>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
17>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
17>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
17>cppcommon.lib(path.obj) : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryW referenced in function "public: static class CppCommon::Path __cdecl CppCommon::Path::home(void)" (?home@Path@CppCommon@@sa?AV12@XZ)
17>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-ws_multicast_server.exe : fatal error LNK1120: 10 unresolved externals
22>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
26>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
22>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
22>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
22>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
22>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
22>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
22>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
22>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
22>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
22>cppcommon.lib(path.obj) : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryW referenced in function "public: static class CppCommon::Path __cdecl CppCommon::Path::home(void)" (?home@Path@CppCommon@@sa?AV12@XZ)
22>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-wss_multicast_server.exe : fatal error LNK1120: 10 unresolved externals
17>Done building project "cppserver-performance-ws_multicast_server.vcxproj" -- FAILED.
27>------ Rebuild All started: Project: cppserver-example-http_client, Configuration: Debug x64 ------
21>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
22>Done building project "cppserver-performance-wss_multicast_server.vcxproj" -- FAILED.
28>------ Rebuild All started: Project: cppserver-example-http_server, Configuration: Debug x64 ------
21>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
21>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
21>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertCloseStore
21>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
21>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertEnumCertificatesInStore
21>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
21>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertFreeCertificateContext
21>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertOpenSystemStoreA referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
21>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
21>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
21>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
21>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
21>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-wss_multicast_client.exe : fatal error LNK1120: 10 unresolved externals
21>Done building project "cppserver-performance-wss_multicast_client.vcxproj" -- FAILED.
29>------ Rebuild All started: Project: cppserver-example-https_client, Configuration: Debug x64 ------
27>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
28>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
26>asio_timer.cpp
29>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
27>http_client.cpp
28>http_server.cpp
29>https_client.cpp
20>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
20>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
20>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
20>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
20>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
20>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
20>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
20>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
20>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
20>cppcommon.lib(path.obj) : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryW referenced in function "public: static class CppCommon::Path __cdecl CppCommon::Path::home(void)" (?home@Path@CppCommon@@sa?AV12@XZ)
20>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-wss_echo_server.exe : fatal error LNK1120: 10 unresolved externals
24>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
20>Done building project "cppserver-performance-wss_echo_server.vcxproj" -- FAILED.
30>------ Rebuild All started: Project: cppserver-example-https_server, Configuration: Debug x64 ------
24>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
24>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
24>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
24>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
24>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
24>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
24>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
24>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
24>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-ws_multicast_client.exe : fatal error LNK1120: 9 unresolved externals
24>Done building project "cppserver-performance-ws_multicast_client.vcxproj" -- FAILED.
31>------ Rebuild All started: Project: cppserver-example-ssl_chat_client, Configuration: Debug x64 ------
30>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
31>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
31>ssl_chat_client.cpp
30>https_server.cpp
23>test_https.cpp
25>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
25>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
25>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
25>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
25>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
25>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
25>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
25>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-asio_service.exe : fatal error LNK1120: 7 unresolved externals
25>Done building project "cppserver-example-asio_service.vcxproj" -- FAILED.
32>------ Rebuild All started: Project: cppserver-example-ssl_chat_server, Configuration: Debug x64 ------
26>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
26>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
26>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
26>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
26>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
26>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
26>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
26>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-asio_timer.exe : fatal error LNK1120: 7 unresolved externals
26>Done building project "cppserver-example-asio_timer.vcxproj" -- FAILED.
33>------ Rebuild All started: Project: cppserver-example-tcp_chat_client, Configuration: Debug x64 ------
32>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
28>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
28>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
28>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
28>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
28>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
28>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
28>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
28>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
28>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
28>cppcommon.lib(path.obj) : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryW referenced in function "public: static class CppCommon::Path __cdecl CppCommon::Path::home(void)" (?home@Path@CppCommon@@sa?AV12@XZ)
28>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-http_server.exe : fatal error LNK1120: 10 unresolved externals
33>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
28>Done building project "cppserver-example-http_server.vcxproj" -- FAILED.
34>------ Rebuild All started: Project: cppserver-example-tcp_chat_server, Configuration: Debug x64 ------
31>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
32>ssl_chat_server.cpp
34>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
31>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
31>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
31>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertCloseStore
31>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
31>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertEnumCertificatesInStore
31>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
31>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertFreeCertificateContext
31>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertOpenSystemStoreA referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
31>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
31>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
31>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
31>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
31>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-ssl_chat_client.exe : fatal error LNK1120: 10 unresolved externals
27>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
31>Done building project "cppserver-example-ssl_chat_client.vcxproj" -- FAILED.
35>------ Rebuild All started: Project: cppserver-example-udp_echo_client, Configuration: Debug x64 ------
27>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
27>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
27>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
27>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
27>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
27>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
27>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
27>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
27>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-http_client.exe : fatal error LNK1120: 9 unresolved externals
33>tcp_chat_client.cpp
27>Done building project "cppserver-example-http_client.vcxproj" -- FAILED.
36>------ Rebuild All started: Project: cppserver-performance-tcp_multicast_client, Configuration: Debug x64 ------
29>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
29>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertCloseStore
34>tcp_chat_server.cpp
35>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
29>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
29>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertEnumCertificatesInStore
29>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
29>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertFreeCertificateContext
29>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertOpenSystemStoreA referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
29>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
29>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
29>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
29>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
29>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
29>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
29>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-https_client.exe : fatal error LNK1120: 10 unresolved externals
29>Done building project "cppserver-example-https_client.vcxproj" -- FAILED.
37>------ Rebuild All started: Project: cppserver-example-udp_multicast_client, Configuration: Debug x64 ------
36>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
37>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
35>udp_echo_client.cpp
36>tcp_multicast_client.cpp
37>udp_multicast_client.cpp
23>test_ssl.cpp
30>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
30>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
30>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
30>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
30>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
30>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
30>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
30>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
30>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
30>cppcommon.lib(path.obj) : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryW referenced in function "public: static class CppCommon::Path __cdecl CppCommon::Path::home(void)" (?home@Path@CppCommon@@sa?AV12@XZ)
30>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-https_server.exe : fatal error LNK1120: 10 unresolved externals
33>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
33>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
33>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
33>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
33>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
33>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
33>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
33>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
33>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
33>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-tcp_chat_client.exe : fatal error LNK1120: 9 unresolved externals
30>Done building project "cppserver-example-https_server.vcxproj" -- FAILED.
33>Done building project "cppserver-example-tcp_chat_client.vcxproj" -- FAILED.
38>------ Rebuild All started: Project: cppserver-example-udp_multicast_server, Configuration: Debug x64 ------
39>------ Rebuild All started: Project: cppserver-example-ws_chat_client, Configuration: Debug x64 ------
34>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
35>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
34>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
34>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
34>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
34>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
34>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
34>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
34>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
34>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
34>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-tcp_chat_server.exe : fatal error LNK1120: 9 unresolved externals
38>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
35>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
35>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
35>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
35>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
35>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
35>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
35>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
35>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
35>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-udp_echo_client.exe : fatal error LNK1120: 9 unresolved externals
35>Done building project "cppserver-example-udp_echo_client.vcxproj" -- FAILED.
34>Done building project "cppserver-example-tcp_chat_server.vcxproj" -- FAILED.
40>------ Rebuild All started: Project: cppserver-example-ws_chat_server, Configuration: Debug x64 ------
41>------ Rebuild All started: Project: cppserver-example-wss_chat_client, Configuration: Debug x64 ------
39>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
37>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
37>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
37>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
37>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
37>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
37>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
37>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
37>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
37>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
37>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-udp_multicast_client.exe : fatal error LNK1120: 9 unresolved externals
37>Done building project "cppserver-example-udp_multicast_client.vcxproj" -- FAILED.
42>------ Rebuild All started: Project: cppserver-example-wss_chat_server, Configuration: Debug x64 ------
41>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
40>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
38>udp_multicast_server.cpp
42>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
39>ws_chat_client.cpp
32>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
41>wss_chat_client.cpp
32>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
32>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
32>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
32>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
32>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
32>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
32>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
32>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
32>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-ssl_chat_server.exe : fatal error LNK1120: 9 unresolved externals
42>wss_chat_server.cpp
32>Done building project "cppserver-example-ssl_chat_server.vcxproj" -- FAILED.
43>------ Rebuild All started: Project: cppserver-performance-http_trace_client, Configuration: Debug x64 ------
43>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
43>http_trace_client.cpp
40>ws_chat_server.cpp
23>test_tcp.cpp
38>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
38>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
38>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
38>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
38>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
38>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
38>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
38>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
38>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
38>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-udp_multicast_server.exe : fatal error LNK1120: 9 unresolved externals
38>Done building project "cppserver-example-udp_multicast_server.vcxproj" -- FAILED.
44>------ Rebuild All started: Project: cppserver-performance-http_trace_server, Configuration: Debug x64 ------
41>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
39>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
41>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
41>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
39>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
39>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
39>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
39>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
41>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertCloseStore
41>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
41>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertEnumCertificatesInStore
41>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
41>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertFreeCertificateContext
41>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertOpenSystemStoreA referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
41>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
41>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
41>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
41>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
41>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-wss_chat_client.exe : fatal error LNK1120: 10 unresolved externals
41>Done building project "cppserver-example-wss_chat_client.vcxproj" -- FAILED.
45>------ Rebuild All started: Project: cppserver-performance-https_trace_client, Configuration: Debug x64 ------
39>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
39>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
39>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
39>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
39>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-ws_chat_client.exe : fatal error LNK1120: 9 unresolved externals
39>Done building project "cppserver-example-ws_chat_client.vcxproj" -- FAILED.
46>------ Rebuild All started: Project: cppserver-performance-https_trace_server, Configuration: Debug x64 ------
44>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
36>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
46>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
36>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
36>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
36>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
36>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
36>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
36>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
36>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
36>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
36>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-tcp_multicast_client.exe : fatal error LNK1120: 9 unresolved externals
45>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
36>Done building project "cppserver-performance-tcp_multicast_client.vcxproj" -- FAILED.
47>------ Rebuild All started: Project: cppserver-performance-ssl_echo_client, Configuration: Debug x64 ------
47>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
44>http_trace_server.cpp
45>https_trace_client.cpp
42>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
46>https_trace_server.cpp
42>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
42>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
42>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
42>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
42>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
42>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
42>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
42>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
42>cppcommon.lib(path.obj) : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryW referenced in function "public: static class CppCommon::Path __cdecl CppCommon::Path::home(void)" (?home@Path@CppCommon@@sa?AV12@XZ)
42>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-wss_chat_server.exe : fatal error LNK1120: 10 unresolved externals
42>Done building project "cppserver-example-wss_chat_server.vcxproj" -- FAILED.
48>------ Rebuild All started: Project: cppserver-performance-ssl_echo_server, Configuration: Debug x64 ------
47>ssl_echo_client.cpp
48>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
40>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
40>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
40>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
40>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
40>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
40>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
40>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
40>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
40>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
40>cppcommon.lib(path.obj) : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryW referenced in function "public: static class CppCommon::Path __cdecl CppCommon::Path::home(void)" (?home@Path@CppCommon@@sa?AV12@XZ)
40>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-example-ws_chat_server.exe : fatal error LNK1120: 10 unresolved externals
40>Done building project "cppserver-example-ws_chat_server.vcxproj" -- FAILED.
49>------ Rebuild All started: Project: cppserver-performance-ssl_multicast_client, Configuration: Debug x64 ------
48>ssl_echo_server.cpp
49>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
49>ssl_multicast_client.cpp
23>test_timer.cpp
43>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
43>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
43>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
43>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
43>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
43>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
43>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
43>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
43>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
43>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-http_trace_client.exe : fatal error LNK1120: 9 unresolved externals
46>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
46>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
46>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
46>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
46>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
46>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
46>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
46>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
46>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
46>cppcommon.lib(path.obj) : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryW referenced in function "public: static class CppCommon::Path __cdecl CppCommon::Path::home(void)" (?home@Path@CppCommon@@sa?AV12@XZ)
43>Done building project "cppserver-performance-http_trace_client.vcxproj" -- FAILED.
50>------ Rebuild All started: Project: cppserver-performance-ssl_multicast_server, Configuration: Debug x64 ------
46>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-https_trace_server.exe : fatal error LNK1120: 10 unresolved externals
46>Done building project "cppserver-performance-https_trace_server.vcxproj" -- FAILED.
51>------ Rebuild All started: Project: cppserver-performance-tcp_echo_client, Configuration: Debug x64 ------
51>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
50>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
45>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
45>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertCloseStore
47>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
47>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertCloseStore
47>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
47>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertEnumCertificatesInStore
47>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
47>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertFreeCertificateContext
47>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertOpenSystemStoreA referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
47>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
45>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
45>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertEnumCertificatesInStore
45>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
45>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertFreeCertificateContext
45>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertOpenSystemStoreA referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
45>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
45>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
45>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
45>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
45>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
45>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
45>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-https_trace_client.exe : fatal error LNK1120: 10 unresolved externals
47>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
47>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
47>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
47>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
47>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
47>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-ssl_echo_client.exe : fatal error LNK1120: 10 unresolved externals
45>Done building project "cppserver-performance-https_trace_client.vcxproj" -- FAILED.
48>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
52>------ Rebuild All started: Project: cppserver-performance-tcp_echo_server, Configuration: Debug x64 ------
48>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
48>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
48>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
48>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
48>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
48>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
48>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
48>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
48>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-ssl_echo_server.exe : fatal error LNK1120: 9 unresolved externals
47>Done building project "cppserver-performance-ssl_echo_client.vcxproj" -- FAILED.
53>------ Rebuild All started: Project: cppserver-performance-tcp_multicast_server, Configuration: Debug x64 ------
50>ssl_multicast_server.cpp
48>Done building project "cppserver-performance-ssl_echo_server.vcxproj" -- FAILED.
53>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
52>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
51>tcp_echo_client.cpp
44>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
44>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
44>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
44>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
44>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
44>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
44>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
44>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
44>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
44>cppcommon.lib(path.obj) : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryW referenced in function "public: static class CppCommon::Path __cdecl CppCommon::Path::home(void)" (?home@Path@CppCommon@@sa?AV12@XZ)
44>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-http_trace_server.exe : fatal error LNK1120: 10 unresolved externals
53>tcp_multicast_server.cpp
44>Done building project "cppserver-performance-http_trace_server.vcxproj" -- FAILED.
52>tcp_echo_server.cpp
49>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
49>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertCloseStore
49>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
49>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertEnumCertificatesInStore
49>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
49>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertFreeCertificateContext
49>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertOpenSystemStoreA referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
49>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
49>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
49>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
49>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
49>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
49>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
49>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-ssl_multicast_client.exe : fatal error LNK1120: 10 unresolved externals
49>Done building project "cppserver-performance-ssl_multicast_client.vcxproj" -- FAILED.
23>test_udp.cpp
23>test_udp_multicast.cpp
50>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
50>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
50>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
50>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
50>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
50>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
50>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
50>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
50>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
50>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-ssl_multicast_server.exe : fatal error LNK1120: 9 unresolved externals
50>Done building project "cppserver-performance-ssl_multicast_server.vcxproj" -- FAILED.
53>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
52>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
53>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
53>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
53>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
53>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
53>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
53>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
53>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
53>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
53>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-tcp_multicast_server.exe : fatal error LNK1120: 9 unresolved externals
52>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
52>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
52>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
52>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
52>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
52>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
52>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
52>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
52>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-tcp_echo_server.exe : fatal error LNK1120: 9 unresolved externals
53>Done building project "cppserver-performance-tcp_multicast_server.vcxproj" -- FAILED.
52>Done building project "cppserver-performance-tcp_echo_server.vcxproj" -- FAILED.
51>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
51>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function capi_find_key
51>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function capi_find_cert
51>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
51>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
51>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function capi_dsa_free
51>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
51>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
51>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
51>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-performance-tcp_echo_client.exe : fatal error LNK1120: 9 unresolved externals
51>Done building project "cppserver-performance-tcp_echo_client.vcxproj" -- FAILED.
23>test_ws.cpp
23>test_wss.cpp
23>Generating Code...
23>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreate referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Random(void)" (?Random@UUID@CppCommon@@sa?AV12@XZ)
23>cppcommon.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp_UuidCreateSequential referenced in function "public: static class CppCommon::UUID __cdecl CppCommon::UUID::Sequential(void)" (?Sequential@UUID@CppCommon@@sa?AV12@XZ)
23>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertCloseStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
23>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertCloseStore
23>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertEnumCertificatesInStore referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
23>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertEnumCertificatesInStore
23>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertFreeCertificateContext referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
23>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertFreeCertificateContext
23>cppserver.lib(ssl_context.obj) : error LNK2019: unresolved external symbol __imp_CertOpenSystemStoreA referenced in function "public: void __cdecl CppServer::Asio::SSLContext::set_root_certs(void)" (?set_root_certs@SSLContext@Asio@CppServer@@QEAAXXZ)
23>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertOpenStore referenced in function capi_open_store
23>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertFindCertificateInStore referenced in function capi_find_cert
23>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertDuplicateCertificateContext referenced in function capi_load_ssl_client_cert
23>libcrypto.lib(e_capi.obj) : error LNK2019: unresolved external symbol __imp_CertGetCertificateContextProperty referenced in function capi_cert_get_fname
23>cppcommon.lib(path.obj) : error LNK2019: unresolved external symbol __imp_GetUserProfileDirectoryW referenced in function "public: static class CppCommon::Path __cdecl CppCommon::Path::home(void)" (?home@Path@CppCommon@@sa?AV12@XZ)
23>C:\SVN\Code\ThirdParty\DedicatedPortServer\CppServer-master\temp\Debug\cppserver-tests.exe : fatal error LNK1120: 11 unresolved externals
23>Done building project "cppserver-tests.vcxproj" -- FAILED.
54>------ Rebuild All started: Project: ALL_BUILD, Configuration: Debug x64 ------
54>Building Custom Rule C:/SVN/Code/ThirdParty/DedicatedPortServer/CppServer-master/CMakeLists.txt
55>------ Skipped Rebuild All: Project: INSTALL, Configuration: Debug x64 ------
55>Project not selected to build for this solution configuration
========== Rebuild All: 10 succeeded, 43 failed, 2 skipped ==========

Error in linking to existing project

I have a tcp parser which will parse data from a external device and i want to multicast this parsed data to 30+ clients.

My project is in Netbeans. I successfully build this project in my machine. I am linking CPPServer to my exisating project, But i am getting following errors

/usr/bin/ld: ../../n9m_new/live/CppServer/bin/libcppserver.a(service.cpp.o): in function CppServer::Asio::Service::Restart()':
service.cpp:(.text+0x1fd): undefined reference to asio::io_context::io_context()' /usr/bin/ld: service.cpp:(.text+0x2f1): undefined reference to asio::detail::service_registry::do_use_service(asio::execution_context::service::key const&, asio::execution_context::service* ()(void), void*)'
/usr/bin/ld: service.cpp:(.text+0x301): undefined reference to asio::detail::strand_service::construct(asio::detail::strand_service::strand_impl*&)' /usr/bin/ld: ../../n9m_new/live/CppServer/bin/libcppserver.a(service.cpp.o): in function CppServer::Asio::Service::ServiceThread(std::shared_ptrCppServer::Asio::Service const&, std::shared_ptrasio::io_context const&)':
service.cpp:(.text+0x603): undefined reference to asio::io_context::poll()' /usr/bin/ld: service.cpp:(.text+0x617): undefined reference to CppCommon::Thread::Yield()'
/usr/bin/ld: service.cpp:(.text+0x635): undefined reference to asio::io_context::run()' /usr/bin/ld: service.cpp:(.text+0x684): undefined reference to asio::detail::scheduler::stop()'
/usr/bin/ld: ../../n9m_new/live/CppServer/bin/libcppserver.a(service.cpp.o): in function std::thread::_State_impl<std::thread::_Invoker<std::tuple<CppCommon::Thread::Start<CppServer::Asio::Service::Start(bool)::{lambda()#2}>(CppServer::Asio::Service::Start(bool)::{lambda()#2}&&)::{lambda()#1}> > >::_M_run()': service.cpp:(.text+0x6d9): undefined reference to CppCommon::ExceptionsHandler::SetupThread()'
/usr/bin/ld: ../../n9m_new/live/CppServer/bin/libcppserver.a(service.cpp.o): in function CppServer::Asio::Service::Stop()': service.cpp:(.text+0x7f2): undefined reference to asio::asio_handler_allocate(unsigned long, ...)'
/usr/bin/ld: service.cpp:(.text+0x843): undefined reference to asio::detail::strand_service::do_post(asio::detail::strand_service::strand_impl*&, asio::detail::scheduler_operation*, bool)' /usr/bin/ld: service.cpp:(.text+0x8be): undefined reference to asio::asio_handler_allocate(unsigned long, ...)'
/usr/bin/ld: service.cpp:(.text+0x90d): undefined reference to asio::detail::scheduler::post_immediate_completion(asio::detail::scheduler_operation*, bool)' /usr/bin/ld: ../../n9m_new/live/CppServer/bin/libcppserver.a(service.cpp.o): in function CppServer::Asio::Service::Start(bool)':
service.cpp:(.text+0xc59): undefined reference to asio::asio_handler_allocate(unsigned long, ...)' /usr/bin/ld: service.cpp:(.text+0xcad): undefined reference to asio::detail::strand_service::do_post(asio::detail::strand_service::strand_impl*&, asio::detail::scheduler_operation*, bool)'
/usr/bin/ld: service.cpp:(.text+0xd16): undefined reference to asio::asio_handler_allocate(unsigned long, ...)' /usr/bin/ld: service.cpp:(.text+0xd66): undefined reference to asio::detail::scheduler::post_immediate_completion(asio::detail::scheduler_operation*, bool)'
/usr/bin/ld: ../../n9m_new/live/CppServer/bin/libcppserver.a(service.cpp.o): in function asio::detail::completion_handler<CppServer::Asio::Service::Start(bool)::{lambda()#1}, asio::io_context::basic_executor_type<std::allocator<void>, 0u> >::do_complete(void*, asio::detail::scheduler_operation*, std::error_code const&, unsigned long)': service.cpp:(.text+0x10e2): undefined reference to asio::asio_handler_deallocate(void*, unsigned long, ...)'
/usr/bin/ld: service.cpp:(.text+0x118d): undefined reference to asio::asio_handler_deallocate(void*, unsigned long, ...)' /usr/bin/ld: ../../n9m_new/live/CppServer/bin/libcppserver.a(service.cpp.o): in function asio::detail::completion_handler<CppServer::Asio::Service::Stop()::{lambda()#1}, asio::io_context::basic_executor_type<std::allocator, 0u> >::do_complete(void*, asio::detail::scheduler_operation*, std::error_code const&, unsigned long)':
service.cpp:(.text+0x1302): undefined reference to asio::asio_handler_deallocate(void*, unsigned long, ...)' /usr/bin/ld: service.cpp:(.text+0x133c): undefined reference to asio::io_context::stop()'
/usr/bin/ld: service.cpp:(.text+0x13f1): undefined reference to asio::asio_handler_deallocate(void*, unsigned long, ...)' /usr/bin/ld: ../../n9m_new/live/CppServer/bin/libcppserver.a(service.cpp.o): in function CppServer::Asio::Service::Service(int, bool)':
service.cpp:(.text+0x163c): undefined reference to asio::io_context::io_context()' /usr/bin/ld: service.cpp:(.text+0x1709): undefined reference to asio::io_context::io_context()'
/usr/bin/ld: service.cpp:(.text+0x1867): undefined reference to asio::io_context::io_context()'

Where is the issue??

The corresponding macros of binutils changed slightly

Hi Ivan,

The corresponding macros of binutils changed slightly and CppServer does not build.

Flags that changed:
from bfd_get_section_flags to bfd_section_flags
from bfd_get_section_vma to bfd_section_vma
from bfd_get_section_size to bfd_section_size

/CppServer/modules/CppCommon/source/system/stack_trace.cpp:162:18: error: ‘bfd_get_section_flags’ was not declared in this scope;
162 | if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
| ^~~~~~~~~~~~~~~~~~~~~
| bfd_set_section_flags
/CppServer/modules/CppCommon/source/system/stack_trace.cpp:165:27: error: ‘bfd_get_section_vma’ was not declared in this scope;
165 | bfd_vma vma = bfd_get_section_vma(abfd, section);
| ^~~~~~~~~~~~~~~~~~~
| bfd_set_section_vma
/CppServer/modules/CppCommon/source/system/stack_trace.cpp:169:37: error: ‘bfd_get_section_size’ was not declared in this scope;
169 | bfd_size_type secsize = bfd_get_section_size(section);

Server issue

I noticed an issue in the server ; when disconnect all sessions or an X connected session .

Try to disable the auto-reconnection from all clients :

    // Wait for a while...
    CppCommon::Thread::Sleep(1000);

    // Try to connect again
    Connect();

When all connected sessions are disconnected from the server try to launch a new client you’ll notice that the server will not accept any new connection .

How to build and install it global?

I built your repository and tried to include the headers in my project, but my IDE did not find them. I looked and it turned out that the whole library was compiled locally (that is, in the folder of the repository itself). Tell me how to build your library in order to use it throughout the system?

Small bug (?) in performance/wss_multicast_server.cpp

In the benchmark example performance/wss_multicast_server.cpp , there is the following code:

            // Sleep for remaining time or yield
            auto milliseconds = (end - start).milliseconds();
            if (milliseconds < 1000)
                Thread::Sleep(milliseconds);
            else
                Thread::Yield();

From the comment above this code block, I conclude, that the call to Thread::Sleep is probably supposed to read:

                Thread::Sleep(1000 - milliseconds);

#error config.h must be included before this header bfd.h

System

  • OS: GNU/Linux
  • Distribution: Arch
  • Architecture: x86_64 (amd64)

Issue

i was compiling your library as described in the README.md and encountered the following error:

In file included from /home/hguy/gits/CppServer/modules/CppCommon/source/system/stack_trace.cpp:21:
/usr/include/bfd.h:35:2: error: #error config.h must be included before this header
   35 | #error config.h must be included before this header

i found the relevant lines in /usr/include/bfd.h

#if !defined PACKAGE && !defined PACKAGE_VERSION
#error config.h must be included before this header
#endif

Solution

and solved the issue by adding the following to CMakeLists.txt

add_compile_definitions("PACKAGE=cppserver")
add_compile_definitions("PACKAGE_VERSION=1")

That's not the most beautiful solution, but i was just looking around.

see also: https://stackoverflow.com/questions/11748035/binutils-bfd-h-wants-config-h-now
(That post seems to be 8 years old, so the problem probably lies somewhere else)

Custom compilation

The unix.sh worked successfully and generated all examples in bin but How to compile customized udp_echo_server example ?
Please give details

Mac OS X: No rule to make target `/usr/local/lib/libssl.dylib'

Ah, fixed it. Will leave a note here though for people searching through here.

What didn't work (but seems to be recommended on other places):

ln -s /usr/local/opt/openssl/lib/libssl.1.1.dylib /usr/local/lib
ln -s /usr/local/opt/openssl/lib/libcrypto.1.1.dylib /usr/local/lib

What did work:

ln -s /usr/local/opt/openssl/lib/libssl.1.1.dylib /usr/local/lib/libssl.dylib
ln -s /usr/local/opt/openssl/lib/libcrypto.1.1.dylib /usr/local/lib/libcrypto.dylib

Note: I also reinstalled homebrew, and wiped my whole system. I hope no one has to go that far, but I couldn't be bothered to have a more refined approach ;-)

Also, your version of openssl might be different, keep that in mind.

Not able to build on Windows

The README says that on Windows with minGW, i need to run the mingw.bat. But I do not see such a batch file.

Am I missing something or the documentation is really not understandable in this particular area.

Get client IP

Is there any build in method how can I get IP of a user when he connects to my tcp server?

Есть ли какой-то метод, чтобы получать ИП клиент на момент его коннекта(TCP server)?

tests stuck

After a successful build, the tests are stucks with the following output. nothing happens, the command does not terminated.

test 1
    Start 1: cppserver-tests

1: Test command: C:\Users\Coco\Documents\projects\CppServer\temp\RelWithDebInfo\cppserver-tests.exe "--durations" "yes" "--order" "lex"
1: Test timeout computed to be: 10000000
1: 4.004 s: Asio timer test
1: 0.002 s: HTTP server & client test
1: 0.011 s: HTTPS server & client test
1: 0.021 s: SSL server multicast test
1: 10.007 s: SSL server random test

after running the tests with VS, it looks like the SSL server test is the one running forever:
image

I am running the tests on Windows 10

Compiling error

Hi!

I got an error during compiling CppServer, I'm not so familiar with cmake so I can't get to work.
Here is the error:
-- Could NOT find LIBUUID (missing: LIBUUID_LIBRARY LIBUUID_INCLUDE_DIR) -- Could NOT find LIBVLD (missing: LIBVLD_LIBRARY)

CppServer/modules/CppCommon/source/system/uuid.cpp:12:10: fatal error: uuid/uuid.h: no such file or directory #include <uuid/uuid.h> ^~~~~~~~~~~~~ compilation terminated. modules/CppCommon/CMakeFiles/cppcommon.dir/build.make:758: recipe for target 'modules/CppCommon/CMakeFiles/cppcommon.dir/source/system/uuid.cpp.o' failed make[2]: *** [modules/CppCommon/CMakeFiles/cppcommon.dir/source/system/uuid.cpp.o] Error 1 CMakeFiles/Makefile2:1378: recipe for target 'modules/CppCommon/CMakeFiles/cppcommon.dir/all' failed make[1]: *** [modules/CppCommon/CMakeFiles/cppcommon.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2

Can I get a little help?
Thanks!

Including this in my own VS project

I'm trying to integrate a websocket server into an existing visual studio project. I've managed to build this from source and get a .lib but I'm not too sure how straightforward including the necessary headers into my project is.. Sorry I'm fairly new to building c++ dependencies outside of VS.

Distributed Services / Surveyor Protocol

Hi,

Hope you are all well !

I had a quick question about your interesting repo using nanomsg:

I seek to create a distributed services tree for another project called find-object like described in this article (ref. repo)

A GUI and console mode are available, and the interesting part is that you can handle an extensive set of options for launching the cli/tcp server (ref) with an .ini config file (link).

I wanted to wrap them with cpp server, and build up some RPC/HTTP api endpoints (add/delete images or update config), and to launch 2 or 3 services with different configurations. On top, I wanted to re-use cpp server as an api gateway (surveyor) for bindings the 3 services (respondents) and aggregate the final response.

The ultimate goal is to compare results for the same input image in real time from a stream of images. (ref); that's why I thought that the nanomsg's surveyor protocol could be a good fit.

As I saw that you integrated some cpp nanomsg components to cpp server, I wanted to get your input or point of view about that.

Questions:
How would u see such distributed integration with your project ?
Is it possible to manage also the configuration of your cpp server from configuration file (yaml or ini) ?

Cheers,
Richard

[TODO/Planning] Better CMake support

It would be nice if the library could be downloaded, configured and installed as dependency for user's own projects in more automated way. The current CMakeLists.txt does not export and install package that would be easily consumed by other projects.

I had a few tries at it, but without success so far.

set(PACKAGE_PUBLISHER   "chronoxor")
set(PACKAGE_REPOSITORY  "CppServer")
set(PACKAGE_NAME        "${PACKAGE_PUBLISHER}_${PACKAGE_REPOSITORY}")
set(PACKAGE_PROJECT     "${PACKAGE_NAME}_project")
set(PACKAGE_VERSION     1.0.0)

FetchContent_Declare(${PACKAGE_PROJECT}
    VERSION           ${PACKAGE_VERSION}
    GIT_REPOSITORY    https://github.com/chronoxor/CppServer
    GIT_TAG           50f2deb26342a8a4de819a30a35b450db51af45e # 1.0.0+ (Jan 10, 2021)
    )
FetchContent_GetProperties(${PACKAGE_PROJECT})
if(NOT ${PACKAGE_PROJECT}_POPULATED)
    message(STATUS "Downloading external dependency: ${PACKAGE_NAME}")
    FetchContent_Populate(${PACKAGE_PROJECT})

    set(CPPSERVER_MODULE TRUE)
    add_subdirectory(
        "${${PACKAGE_PROJECT}_SOURCE_DIR}"
        "${${PACKAGE_PROJECT}_BINARY_DIR}"
        )
endif()

The install and export commands are also rather complicated to get right. A library such as PackageProject.cmake could help with this. In theory if CppServer's CMakeLists.txt would be perfect, the other project CPM.cmake by TheLartians should work for configuration step also. A custom approach might suit this project better.
https://github.com/TheLartians/CPM.cmake
https://github.com/TheLartians/PackageProject.cmake

# PackageProject.cmake will be used to make our target installable.
CPMAddPackage(
    NAME PackageProject.cmake
    GITHUB_REPOSITORY TheLartians/PackageProject.cmake
    VERSION 1.4
)
packageProject(                                                                               
    NAME ${REF_LIBRARY}                                                                       
    VERSION ${PACKAGE_VERSION}                                                                
    NAMESPACE ${REF_LIBRARY}                                                                  
    BINARY_DIR ${${PACKAGE_PROJECT}_BINARY_DIR}/build                                         
    INCLUDE_DIR ${${PACKAGE_PROJECT}_SOURCE_DIR}/include                                      
    INCLUDE_DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PACKAGE_PUBLISHER}/${PACKAGE_REPOSITORY}                                                 
    ) 

Custom install should have some commands like following

install(
    TARGETS
        ${INSTALL_TARGETS}
    EXPORT
        ${PROJECT_NAME}Targets
    ...
    )
install(
    DIRECTORY
        "${CMAKE_CURRENT_LIST_DIR}/include/"
    DESTINATION
        "${CMAKE_INSTALL_INCLUDEDIR}
    ...
    )

Exporting depends on whether using normal Targets or Component approach for project.

export(
    TARGETS
        ${INSTALL_TARGETS}
    NAMESPACE
        ${PROJECT_NAME}::
    FILE
        ${CMAKE_CURRENT_BINARY_DIR}/${TARGETS_EXPORT_NAME}.cmake
    )
install(
    EXPORT
        ${TARGETS_EXPORT_NAME}
    DESTINATION
        ${CMAKE_INSTALL_CMAKEDIR}
    NAMESPACE
        ${PROJECT_NAME}::
    )

And somehow finally when that works, it is possible to use CppServer in own project in more straightforward way.

find_package(${PACKAGE_NAME}
    1.0.0
    REQUIRED
    CONFIG
    HINTS
        "C:/Codes/chronoxor/CppServer/install"
    )
target_link_libraries(${PROJECT_NAME} PRIVATE chronoxor::CppServer)

CppServer/install/lib/cmake/CppServer
CppServerTargets.cmake
CppServerConfig.cmake
CppServerConfigVersion.cmake
CppServer/install/include
And so on...

DisconnectAsync

Fisrt of all, great stuff. Many thanks.

Doing some tests with an async client and using the function:

void onSent(size_t sent, size_t pending) override{
if (pending == 0){
// Sleep here
DisconnectAsync();
}
}

I had the idea of disconnecting the client as soon as pending==0. If I use DisconnectAsync() nothing happens (Disconnect () does the trick). I have checked the status of the connection and it is still connected. Is this an expected behaviour?

I also had to introduce a delay before disconnecting, otherwise some tx data is lost. I guess this is how the sockets and the OS kernel work but is there a way to know that there is indeed no remaining data to transmit?

Many thanks again

is a vcpkg package planned?

Hello,
Is it planned to release a Vcpkg package to make it easier to include this awesome library to any project?
Thanks for your work.

Cmake error

I get the following cmake error when adding the project to my own:

1> [CMake] CMake Error at CppServer/modules/CppCommon/cmake/SetPlatformFeatures.cmake:29 (string):
1> [CMake]   string sub-command REGEX, mode REPLACE needs at least 6 arguments total to
1> [CMake]   command.

CMakeLists.txt:

cmake_minimum_required (VERSION 3.8)

project ("Client")

set(CPPSERVER_MODULE OFF)

add_subdirectory(CppServer)

add_executable (Client "Client.cpp" "Client.h")

target_link_libraries(Client PRIVATE cppserver)

I use Window 10 and Visual Studio 2019

mobile support

Hello , just want to know does your framework support mobile ( iOS , Android ...etc ) or it's a Desktop specific only ?

Thank you

What is the effort required to port it to c++11?

Hi I could successfully build and run the project and also could include in my own c++17 project, but I have some projects which can't be moved to c++17, I want to know what is the effort required to port it to c++11? I see a lot of std::string_view references as a starter that needs modification, are there any other such c++17 specific apis used? simply put I just want to know if it is a huge effort, if it is what are the alternatives?
Thanks for the awesome work!

Question: Why TCP echo benchmark so much faster than UDP echo benchmark?

From your examples in the Readme, the TCP benchmar pushes on the order 40 times more messages per second than UDP.
Even SSL is on the order 10x faster than UDP.

When I compiled and ran it myself I got over 100 times more messages with TCP than what I got with UDP.

Why TCP and SSL echo benchmarks so much faster than UDP echo benchmark?

HTTP Client Hanging

Hi, I'm having an issue with the HTTP client. I've built the HTTP server and HTTP client examples, and while the server seems to work perfectly, using curl to test it, the client seems to hang whenever a Send*Request() method is called. For example:
auto response = client->SendGetRequest("/").get(). No matter what the host is, the client always hangs. If .get() is omitted, the program continues to the next line, but either way the client never actually sends a request or throws an error. Is there a workaround to this?

Here is my full file that I'm using:

#include "server/http/http_client.h"
#include "string/string_utils.h"

#include <iostream>

int main(int argc, char** argv)
{
    // HTTP server address
    std::string address = "127.0.0.1:8080";
    std::cout << "HTTP server address: " << address << std::endl;

    // Create a new Asio service
    auto service = std::make_shared<CppServer::Asio::Service>();
    // Start the Asio service
    std::cout << "Asio service starting...";
    service->Start();
    std::cout << "Done!" << std::endl;

    // Create a new HTTP client
    auto client = std::make_shared<CppServer::HTTP::HTTPClientEx>(service, address, "http");

    //send get request
    std::cout << "sending message" << std::endl;
    auto response = client->SendGetRequest("/").get();
    std::cout << response << std::endl;

    // Stop the Asio service
    std::cout << "Asio service stopping...";
    service->Stop();
    std::cout << "Done!" << std::endl;

    return 0;
}

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.