diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/hints/HintsToPot.cpp SuperSlicer-2.5.59.12/src/hints/HintsToPot.cpp --- SuperSlicer-2.5.59.12.orig/src/hints/HintsToPot.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/hints/HintsToPot.cpp 2024-06-20 19:29:16.076450396 +0200 @@ -9,7 +9,7 @@ bool write_to_pot(boost::filesystem::path path, const std::vector>& 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.59.12.orig/src/libslic3r/AppConfig.cpp SuperSlicer-2.5.59.12/src/libslic3r/AppConfig.cpp --- SuperSlicer-2.5.59.12.orig/src/libslic3r/AppConfig.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/libslic3r/AppConfig.cpp 2024-06-20 19:29:16.076450396 +0200 @@ -1,5 +1,6 @@ #include "AppConfig.hpp" +#include #include "libslic3r.h" #include "format.hpp" #include "Exception.hpp" @@ -15,6 +16,7 @@ #include #include #include +#include #include #include #include diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/AppConfig.hpp SuperSlicer-2.5.59.12/src/libslic3r/AppConfig.hpp --- SuperSlicer-2.5.59.12.orig/src/libslic3r/AppConfig.hpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/libslic3r/AppConfig.hpp 2024-06-20 19:29:16.076450396 +0200 @@ -5,6 +5,7 @@ #include #include +#include #include #include diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/LocalesUtils.cpp SuperSlicer-2.5.59.12/src/libslic3r/LocalesUtils.cpp --- SuperSlicer-2.5.59.12.orig/src/libslic3r/LocalesUtils.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/libslic3r/LocalesUtils.cpp 2024-06-20 19:29:16.076450396 +0200 @@ -1,3 +1,4 @@ +#include #include "LocalesUtils.hpp" #ifdef _WIN32 diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/libslic3r/Preset.cpp SuperSlicer-2.5.59.12/src/libslic3r/Preset.cpp --- SuperSlicer-2.5.59.12.orig/src/libslic3r/Preset.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/libslic3r/Preset.cpp 2024-06-20 19:29:16.076450396 +0200 @@ -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.59.12.orig/src/libslic3r/Utils.hpp SuperSlicer-2.5.59.12/src/libslic3r/Utils.hpp --- SuperSlicer-2.5.59.12.orig/src/libslic3r/Utils.hpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/libslic3r/Utils.hpp 2024-06-20 19:29:16.076450396 +0200 @@ -7,6 +7,7 @@ #include #include +#include #include #include diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/CreateMMUTiledCanvas.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/CreateMMUTiledCanvas.cpp --- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/CreateMMUTiledCanvas.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/slic3r/GUI/CreateMMUTiledCanvas.cpp 2024-06-20 19:29:16.076450396 +0200 @@ -18,6 +18,11 @@ #include #include "Notebook.hpp" +#include +#include +#include +#include + #include "MainFrame.hpp" #include "wxExtensions.hpp" diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/DesktopIntegrationDialog.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/DesktopIntegrationDialog.cpp --- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/DesktopIntegrationDialog.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/slic3r/GUI/DesktopIntegrationDialog.cpp 2024-06-20 19:29:16.076450396 +0200 @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -503,4 +504,4 @@ } // namespace GUI } // namespace Slic3r -#endif // __linux__ \ Kein Zeilenumbruch am Dateiende. +#endif // __linux__ diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/FreeCADDialog.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/FreeCADDialog.cpp --- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/FreeCADDialog.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/slic3r/GUI/FreeCADDialog.cpp 2024-06-20 19:29:16.076450396 +0200 @@ -38,6 +38,7 @@ #include #include #include +#include // 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 @@ -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.59.12.orig/src/slic3r/GUI/GUI_App.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/GUI_App.cpp --- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/GUI_App.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/slic3r/GUI/GUI_App.cpp 2024-06-20 19:29:16.076450396 +0200 @@ -19,6 +19,7 @@ #include #include #include +#include #include #include diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/HintNotification.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/HintNotification.cpp --- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/HintNotification.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/slic3r/GUI/HintNotification.cpp 2024-06-20 19:29:16.076450396 +0200 @@ -14,12 +14,14 @@ #include "libslic3r/Config.hpp" #include "libslic3r/PrintConfig.hpp" +#include + #include #include #include #include #include -#include + #include #include #include @@ -65,7 +67,7 @@ void write_used_binary(const std::vector& 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.59.12.orig/src/slic3r/GUI/Preferences.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/Preferences.cpp --- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/Preferences.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/slic3r/GUI/Preferences.cpp 2024-06-20 19:29:16.076450396 +0200 @@ -12,6 +12,7 @@ #include "wxExtensions.hpp" #include +#include #include #include diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/PrintHostDialogs.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/PrintHostDialogs.cpp --- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/PrintHostDialogs.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/slic3r/GUI/PrintHostDialogs.cpp 2024-06-20 19:29:16.079783739 +0200 @@ -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.59.12.orig/src/slic3r/GUI/RemovableDriveManager.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/RemovableDriveManager.cpp --- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/RemovableDriveManager.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/slic3r/GUI/RemovableDriveManager.cpp 2024-06-20 19:31:37.636759560 +0200 @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #endif diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/ScriptExecutor.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/ScriptExecutor.cpp --- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/ScriptExecutor.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/slic3r/GUI/ScriptExecutor.cpp 2024-06-20 19:29:16.079783739 +0200 @@ -2,6 +2,12 @@ #include "libslic3r/PresetBundle.hpp" #include "libslic3r/Print.hpp" +#include +#include +#include +#include +#include +#include #include "GUI_App.hpp" #include "Plater.hpp" diff '--color=auto' -urN SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/Tab.cpp SuperSlicer-2.5.59.12/src/slic3r/GUI/Tab.cpp --- SuperSlicer-2.5.59.12.orig/src/slic3r/GUI/Tab.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/slic3r/GUI/Tab.cpp 2024-06-20 19:29:16.079783739 +0200 @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -1775,7 +1776,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.59.12.orig/src/slic3r/Utils/Http.cpp SuperSlicer-2.5.59.12/src/slic3r/Utils/Http.cpp --- SuperSlicer-2.5.59.12.orig/src/slic3r/Utils/Http.cpp 2024-06-12 00:43:03.000000000 +0200 +++ SuperSlicer-2.5.59.12/src/slic3r/Utils/Http.cpp 2024-06-20 19:29:16.079783739 +0200 @@ -11,6 +11,7 @@ #include #include #include +#include #include @@ -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);