Garmaine Staff asked 1 year ago
This question already has answers here:
http://stackoverflow.com//questions/40492414/why-does-stdnumeric-limitslong-longmax-fail&#8221;>Why does std::numeric_limits<long long>::max() fail? [duplicate] (1 answer)
Closed 9 hours ago.

I´m trying to use the boost Library example for a websocketserver (https://www.boost.org/doc/libs/develop/libs/beast/example/websocket/server/async/websocket_server_async.cpp) inside a DLL Project. I want to compile it into a single DLL.
It´s completely working inside a console Application, but if I move the code to my DLL Project I can´t even use the needed includes. This problem also appears on blank dll Projects with the same include configuration as the console app.
The include "boost/beast/core.hpp" failes with the following errors (all in the file "boost\beast\core\impl\file_stdio.ipp" in line 244):

  • '(': illegal token on right side of '::'
  • type 'unknown-type' unexpected
  • syntax error: 'unknown-type' should be preceded by '('
  • syntax error: ')'
  • syntax error: missing ';' before '{'

I´m using the boost Version 1.72.0
I´ve got no idea what the difference between the console App and an DLL is. Is it even possible to use the library properly for a DLL? If yes, do you have any ideas what I´m doing wrong?

Edit: The code causing the error inside the boost library is the following:

if(offset > static_cast<std::uint64_t>(std::numeric_limits<long>::max()))
{
    ec = make_error_code(errc::invalid_seek);
    return;
}

especially the "::max()" causes the error