diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/hints/HintsToPot.cpp SuperSlicer-2.5.60.0/src/hints/HintsToPot.cpp
--- SuperSlicer-2.5.60.0.orig/src/hints/HintsToPot.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/hints/HintsToPot.cpp	2025-01-05 00:04:48.909483459 +0100
@@ -9,7 +9,7 @@
 
 bool write_to_pot(boost::filesystem::path path, const std::vector<std::pair<std::string, std::string>>& data)
 {
-	boost::filesystem::ofstream file(std::move(path), std::ios_base::app);
+	boost::nowide::ofstream file(path.string(), std::ios_base::app);
 	for (const auto& element : data)
 	{
 		//Example of .pot element 
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/libslic3r/AppConfig.cpp SuperSlicer-2.5.60.0/src/libslic3r/AppConfig.cpp
--- SuperSlicer-2.5.60.0.orig/src/libslic3r/AppConfig.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/libslic3r/AppConfig.cpp	2025-01-05 00:04:48.909483459 +0100
@@ -1,5 +1,6 @@
 #include "AppConfig.hpp"
 
+#include <boost/filesystem.hpp>
 #include "libslic3r.h"
 #include "format.hpp"
 #include "Exception.hpp"
@@ -15,6 +16,7 @@
 #include <boost/algorithm/string/predicate.hpp>
 #include <boost/filesystem/directory.hpp>
 #include <boost/filesystem/operations.hpp>
+#include <boost/filesystem/path.hpp>
 #include <boost/format/format_fwd.hpp>
 #include <boost/locale.hpp>
 #include <boost/log/trivial.hpp>
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/libslic3r/AppConfig.hpp SuperSlicer-2.5.60.0/src/libslic3r/AppConfig.hpp
--- SuperSlicer-2.5.60.0.orig/src/libslic3r/AppConfig.hpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/libslic3r/AppConfig.hpp	2025-01-05 00:04:48.909483459 +0100
@@ -5,6 +5,7 @@
 #include <map>
 #include <string>
 
+#include <boost/filesystem/path.hpp>
 #include <boost/algorithm/string/trim_all.hpp>
 #include <boost/filesystem/path.hpp>
 
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/libslic3r/GCodeSender.hpp SuperSlicer-2.5.60.0/src/libslic3r/GCodeSender.hpp
--- SuperSlicer-2.5.60.0.orig/src/libslic3r/GCodeSender.hpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/libslic3r/GCodeSender.hpp	2025-01-05 00:04:48.909483459 +0100
@@ -35,7 +35,7 @@
     void reset();
     
     private:
-    asio::io_service io;
+    asio::io_context io;
     asio::serial_port serial;
     boost::thread background_thread;
     boost::asio::streambuf read_buffer, write_buffer;
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/libslic3r/LocalesUtils.cpp SuperSlicer-2.5.60.0/src/libslic3r/LocalesUtils.cpp
--- SuperSlicer-2.5.60.0.orig/src/libslic3r/LocalesUtils.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/libslic3r/LocalesUtils.cpp	2025-01-05 00:04:48.909483459 +0100
@@ -1,3 +1,4 @@
+#include <boost/lexical_cast.hpp>
 #include "LocalesUtils.hpp"
 
 #ifdef _WIN32
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/libslic3r/Preset.cpp SuperSlicer-2.5.60.0/src/libslic3r/Preset.cpp
--- SuperSlicer-2.5.60.0.orig/src/libslic3r/Preset.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/libslic3r/Preset.cpp	2025-01-05 00:04:48.910483530 +0100
@@ -84,7 +84,7 @@
 VendorProfile VendorProfile::from_ini(const boost::filesystem::path &path, bool load_all)
 {
     ptree tree;
-    boost::filesystem::ifstream ifs(path);
+    boost::nowide::ifstream ifs(path.string());
     boost::property_tree::read_ini(ifs, tree);
     return VendorProfile::from_ini(tree, path, load_all);
 }
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/libslic3r/Utils.hpp SuperSlicer-2.5.60.0/src/libslic3r/Utils.hpp
--- SuperSlicer-2.5.60.0.orig/src/libslic3r/Utils.hpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/libslic3r/Utils.hpp	2025-01-05 00:04:48.910483530 +0100
@@ -7,6 +7,7 @@
 #include <type_traits>
 #include <system_error>
 
+#include <boost/filesystem.hpp>
 #include <boost/system/error_code.hpp>
 #include <boost/filesystem/path.hpp>
 
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/CreateMMUTiledCanvas.cpp SuperSlicer-2.5.60.0/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/CreateMMUTiledCanvas.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/GUI/CreateMMUTiledCanvas.cpp	2025-01-05 00:04:48.910483530 +0100
@@ -18,6 +18,11 @@
 #include <wx/notebook.h>
 #include "Notebook.hpp"
 
+#include <boost/filesystem.hpp>
+#include <boost/property_tree/ptree.hpp>
+#include <boost/property_tree/ini_parser.hpp>
+#include <boost/log/trivial.hpp>
+
 #include "MainFrame.hpp"
 #include "wxExtensions.hpp"
 
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/DesktopIntegrationDialog.cpp SuperSlicer-2.5.60.0/src/slic3r/GUI/DesktopIntegrationDialog.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/DesktopIntegrationDialog.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/GUI/DesktopIntegrationDialog.cpp	2025-01-05 00:04:48.910483530 +0100
@@ -14,6 +14,7 @@
 #include <boost/log/trivial.hpp>
 #include <boost/dll/runtime_symbol_info.hpp>
 #include <boost/algorithm/string/replace.hpp>
+#include <boost/nowide/fstream.hpp>
 
 #include <wx/filename.h>
 #include <wx/stattext.h>
@@ -503,4 +504,4 @@
 
 } // namespace GUI
 } // namespace Slic3r
-#endif // __linux__
\ Kein Zeilenumbruch am Dateiende.
+#endif // __linux__
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/FirmwareDialog.cpp SuperSlicer-2.5.60.0/src/slic3r/GUI/FirmwareDialog.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/FirmwareDialog.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/GUI/FirmwareDialog.cpp	2025-01-05 00:04:48.910483530 +0100
@@ -425,7 +425,7 @@
 
 void FirmwareDialog::priv::avr109_reboot(const SerialPortInfo &port)
 {
-	asio::io_service io;
+	asio::io_context io;
 	Serial serial(io, port.port, 1200);
 	std::this_thread::sleep_for(std::chrono::milliseconds(50));
 }
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/FreeCADDialog.cpp SuperSlicer-2.5.60.0/src/slic3r/GUI/FreeCADDialog.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/FreeCADDialog.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/GUI/FreeCADDialog.cpp	2025-01-05 00:04:48.910483530 +0100
@@ -38,6 +38,7 @@
 #include <boost/log/trivial.hpp>
 #include <boost/property_tree/ptree.hpp>
 #include <boost/property_tree/json_parser.hpp>
+#include <boost/nowide/fstream.hpp>
 
 // hack for process.hpp : it uses pid_t to set it as alias of int, but vc_x64_lib (wx thingy) as a '#define pid_t int'
 // and so boost/process has a line 'typedef int int'instead of 'typedef int pid_t' that makes it crash
@@ -63,7 +64,7 @@
     class ExecVar {
     public:
         boost::process::opstream pyin;
-        boost::asio::io_service ios;
+        boost::asio::io_context ios;
         std::future<std::string> data_out;
         std::future<std::string> data_err;
         std::unique_ptr<boost::process::child> process;
@@ -322,7 +323,7 @@
         try {
             std::locale loc = boost::locale::generator()("en_US.UTF-8");
             // Open the stream to 'lock' the file.
-            boost::filesystem::ifstream in;
+            boost::nowide::ifstream in;
             in.imbue(loc);
             in.open(path);
             // Obtain the size of the file.
@@ -369,7 +370,7 @@
         boost::filesystem::create_directories(file.parent_path());
         std::locale loc = boost::locale::generator()("en_US.UTF-8");
         // Open the stream to 'lock' the file.
-        boost::filesystem::ofstream out;
+        boost::nowide::ofstream out;
         out.imbue(loc);
         out.open(file);
         out << towrite;
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/GUI_App.cpp SuperSlicer-2.5.60.0/src/slic3r/GUI/GUI_App.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/GUI_App.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/GUI/GUI_App.cpp	2025-01-05 00:04:48.911483601 +0100
@@ -19,6 +19,7 @@
 #include <boost/lexical_cast.hpp>
 #include <boost/log/trivial.hpp>
 #include <boost/nowide/convert.hpp>
+#include <boost/nowide/fstream.hpp>
 
 #include <wx/stdpaths.h>
 #include <wx/imagpng.h>
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/HintNotification.cpp SuperSlicer-2.5.60.0/src/slic3r/GUI/HintNotification.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/HintNotification.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/GUI/HintNotification.cpp	2025-01-05 00:04:48.911483601 +0100
@@ -14,12 +14,14 @@
 #include "libslic3r/Config.hpp"
 #include "libslic3r/PrintConfig.hpp"
 
+#include <map>
+
 #include <boost/algorithm/string/replace.hpp>
 #include <boost/filesystem.hpp>
 #include <boost/nowide/fstream.hpp>
 #include <boost/log/trivial.hpp>
 #include <boost/property_tree/ini_parser.hpp>
-#include <map>
+
 #include <cereal/archives/binary.hpp>
 #include <cereal/types/string.hpp>
 #include <cereal/types/vector.hpp>
@@ -65,7 +67,7 @@
 
 void write_used_binary(const std::vector<std::string>& ids)
 {
-	boost::filesystem::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal"), std::ios::binary);
+	boost::nowide::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal").string(), std::ios::binary);
 	cereal::BinaryOutputArchive archive(file);
 		HintsCerealData cd { ids };
 	try
@@ -84,7 +86,7 @@
 		BOOST_LOG_TRIVIAL(warning) << "Failed to load to hints.cereal. File does not exists. " << path.string();
 		return;
 	}
-	boost::filesystem::ifstream file(path);
+	boost::nowide::ifstream file(path.string());
 	cereal::BinaryInputArchive archive(file);
 	HintsCerealData cd;
 	try
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/Preferences.cpp SuperSlicer-2.5.60.0/src/slic3r/GUI/Preferences.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/Preferences.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/GUI/Preferences.cpp	2025-01-05 00:04:48.911483601 +0100
@@ -12,6 +12,7 @@
 #include "wxExtensions.hpp"
 
 #include <boost/algorithm/string.hpp>
+#include <boost/algorithm/string/split.hpp>
 #include <boost/filesystem.hpp>
 #include <boost/filesystem/path.hpp>
 
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/PrintHostDialogs.cpp SuperSlicer-2.5.60.0/src/slic3r/GUI/PrintHostDialogs.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/PrintHostDialogs.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/GUI/PrintHostDialogs.cpp	2025-01-05 00:04:48.911483601 +0100
@@ -81,8 +81,8 @@
     if (size_t extension_start = recent_path.find_last_of('.'); extension_start != std::string::npos)
         m_valid_suffix = recent_path.substr(extension_start);
     // .gcode suffix control
-    auto validate_path = [this](const wxString &path) -> bool {
-        if (! path.Lower().EndsWith(m_valid_suffix.Lower())) {
+    auto validate_path = [this](const std::wstring &path) -> bool {
+        if (! wxString(path).Lower().EndsWith(m_valid_suffix.Lower())) {
             MessageDialog msg_wingow(this, wxString::Format(_L("Upload filename doesn't end with \"%s\". Do you wish to continue?"), m_valid_suffix), wxString(SLIC3R_APP_NAME), wxYES | wxNO);
             if (msg_wingow.ShowModal() == wxID_NO)
                 return false;
@@ -92,7 +92,7 @@
 
     auto* btn_ok = add_button(wxID_OK, true, _L("Upload"));
     btn_ok->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
-        if (validate_path(txt_filename->GetValue())) {
+        if (validate_path(txt_filename->GetValue().ToStdWstring())) {
             post_upload_action = PrintHostPostUploadAction::None;
             EndDialog(wxID_OK);
         }
@@ -102,7 +102,7 @@
     if (post_actions.has(PrintHostPostUploadAction::StartPrint)) {
         auto* btn_print = add_button(wxID_YES, false, _L("Upload and Print"));
         btn_print->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
-            if (validate_path(txt_filename->GetValue())) {
+            if (validate_path(txt_filename->GetValue().ToStdWstring())) {
                 post_upload_action = PrintHostPostUploadAction::StartPrint;
                 EndDialog(wxID_OK);
             }
@@ -113,7 +113,7 @@
         // Using wxID_MORE as a button identifier to be different from the other buttons, wxID_MORE has no other meaning here.
         auto* btn_simulate = add_button(wxID_MORE, false, _L("Upload and Simulate"));
         btn_simulate->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
-            if (validate_path(txt_filename->GetValue())) {
+            if (validate_path(txt_filename->GetValue().ToStdWstring())) {
                 post_upload_action = PrintHostPostUploadAction::StartSimulation;
                 EndDialog(wxID_OK);
             }        
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/RemovableDriveManager.cpp SuperSlicer-2.5.60.0/src/slic3r/GUI/RemovableDriveManager.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/RemovableDriveManager.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/GUI/RemovableDriveManager.cpp	2025-01-05 00:04:48.911483601 +0100
@@ -22,7 +22,7 @@
 #include <pwd.h>
 #include <boost/filesystem.hpp>
 #include <boost/system/error_code.hpp>
-#include <boost/filesystem/convenience.hpp>
+#include <boost/filesystem.hpp>
 #include <boost/process.hpp>
 #endif
 
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/ScriptExecutor.cpp SuperSlicer-2.5.60.0/src/slic3r/GUI/ScriptExecutor.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/ScriptExecutor.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/GUI/ScriptExecutor.cpp	2025-01-05 00:04:48.911483601 +0100
@@ -2,6 +2,12 @@
 
 #include "libslic3r/PresetBundle.hpp"
 #include "libslic3r/Print.hpp"
+#include <boost/log/trivial.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/algorithm/string/trim_all.hpp>
+#include <boost/algorithm/string/erase.hpp>
+#include <boost/algorithm/string/split.hpp>
+#include <boost/filesystem.hpp>
 
 #include "GUI_App.hpp"
 #include "Plater.hpp"
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/Tab.cpp SuperSlicer-2.5.60.0/src/slic3r/GUI/Tab.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/GUI/Tab.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/GUI/Tab.cpp	2025-01-05 00:04:48.912483671 +0100
@@ -39,6 +39,7 @@
 #include <boost/filesystem.hpp>
 #include <boost/filesystem/path.hpp>
 #include <boost/lexical_cast.hpp>
+#include <boost/nowide/fstream.hpp>
 #include <boost/log/trivial.hpp>
 
 #include <wx/app.h>
@@ -1781,7 +1782,7 @@
 
     //read file
     //std::ifstream filestream(ui_layout_file.c_str());
-    boost::filesystem::ifstream filestream(ui_layout_file);
+    boost::nowide::ifstream filestream(ui_layout_file);
     std::string full_line;
     while (std::getline(filestream, full_line)) {
         //remove spaces
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/Utils/Bonjour.cpp SuperSlicer-2.5.60.0/src/slic3r/Utils/Bonjour.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/Utils/Bonjour.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/Utils/Bonjour.cpp	2025-01-05 00:04:48.912483671 +0100
@@ -629,7 +629,7 @@
 	auto self = this;
 
 	try {
-		boost::asio::io_service io_service;
+		boost::asio::io_context io_service;
 		udp::socket socket(io_service);
 		socket.open(udp::v4());
 		socket.set_option(udp::socket::reuse_address(true));
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/Utils/Http.cpp SuperSlicer-2.5.60.0/src/slic3r/Utils/Http.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/Utils/Http.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/Utils/Http.cpp	2025-01-05 00:04:48.912483671 +0100
@@ -11,6 +11,7 @@
 #include <boost/filesystem.hpp>
 #include <boost/format.hpp>
 #include <boost/log/trivial.hpp>
+#include <boost/nowide/fstream.hpp>
 
 #include <curl/curl.h>
 
@@ -52,7 +53,7 @@
 						% error;
 			})
 			.on_complete([&](std::string body, unsigned /* http_status */) {
-				boost::filesystem::fstream file(tmp_path, std::ios::out | std::ios::binary | std::ios::trunc);
+				boost::nowide::fstream file(tmp_path, std::ios::out | std::ios::binary | std::ios::trunc);
 				file.write(body.c_str(), body.size());
 				file.close();
 				boost::filesystem::rename(tmp_path, target_path);
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/Utils/Serial.cpp SuperSlicer-2.5.60.0/src/slic3r/Utils/Serial.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/Utils/Serial.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/Utils/Serial.cpp	2025-01-05 00:04:48.912483671 +0100
@@ -278,11 +278,11 @@
 namespace asio = boost::asio;
 using boost::system::error_code;
 
-Serial::Serial(asio::io_service& io_service) :
+Serial::Serial(asio::io_context& io_service) :
 	asio::serial_port(io_service)
 {}
 
-Serial::Serial(asio::io_service& io_service, const std::string &name, unsigned baud_rate) :
+Serial::Serial(asio::io_context& io_service, const std::string &name, unsigned baud_rate) :
 	asio::serial_port(io_service, name)
 {
 	set_baud_rate(baud_rate);
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/Utils/Serial.hpp SuperSlicer-2.5.60.0/src/slic3r/Utils/Serial.hpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/Utils/Serial.hpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/Utils/Serial.hpp	2025-01-05 00:04:48.912483671 +0100
@@ -39,8 +39,8 @@
 class Serial : public boost::asio::serial_port
 {
 public:
-	Serial(boost::asio::io_service &io_service);
-	Serial(boost::asio::io_service &io_service, const std::string &name, unsigned baud_rate);
+	Serial(boost::asio::io_context &io_service);
+	Serial(boost::asio::io_context &io_service, const std::string &name, unsigned baud_rate);
 	Serial(const Serial &) = delete;
 	Serial &operator=(const Serial &) = delete;
 	~Serial();
diff '--color=auto' -urN SuperSlicer-2.5.60.0.orig/src/slic3r/Utils/TCPConsole.cpp SuperSlicer-2.5.60.0/src/slic3r/Utils/TCPConsole.cpp
--- SuperSlicer-2.5.60.0.orig/src/slic3r/Utils/TCPConsole.cpp	2024-07-01 11:29:11.000000000 +0200
+++ SuperSlicer-2.5.60.0/src/slic3r/Utils/TCPConsole.cpp	2025-01-05 00:06:50.954131426 +0100
@@ -4,6 +4,7 @@
 #include <boost/asio/read_until.hpp>
 #include <boost/asio/steady_timer.hpp>
 #include <boost/asio/write.hpp>
+#include <boost/asio/connect.hpp>
 #include <boost/bind.hpp>
 #include <boost/format.hpp>
 #include <boost/log/trivial.hpp>
@@ -156,7 +157,7 @@
 
         auto endpoints = m_resolver.resolve(m_host_name, m_port_name);
 
-        m_socket.async_connect(endpoints->endpoint(),
+        boost::asio::async_connect(m_socket, endpoints,
             boost::bind(&TCPConsole::handle_connect, this, _1)
         );