0

我正在使用 boost 进行 TCP SSL 连接 websocket 连接。我正在使用 scons 为基于 linux 的支付终端进行交叉编译。我没有构建 boost,因为 asio 是基于标头的内联库(如 boost 门户中所述),如果我错了,请纠正我。但是我在 boost/asio/ssl/context.hpp 中看不到内联函数

我收到错误“对 boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) 的未定义引用未定义对 `boost::asio::ssl::context 的引用::~上下文()'

#include "boost/beast/websocket.hpp"
#include <boost/beast/core.hpp>
#include <boost/beast/websocket.hpp>
#include <boost/beast/websocket/ssl.hpp>
#include <boost/asio/connect.hpp>
#include <boost/asio/ip/tcp.hpp>
#include <boost/asio/ssl/stream.hpp>
int WebSocketClient::Async_connect(std::string url)
{
   boost::asio::io_context ioc;
   ssl::context ctx{ssl::context::tlsv12_client};
   // I am getting error while creating context object
   //std::make_shared<session>(ioc, ctx)->run(host, port, sendMessage.c_str(), link);
   //ioc.run();

}

如果我包含了必需的标头,为什么 scons 会给出错误未定义的参考?我们真的需要为使用 asio,boost beast 构建 boost 吗?

4

0 回答 0