diff --git a/CMakeLists.txt b/CMakeLists.txt
index deade37d1a4999833a15faf8f8f62535d0964cf6..0b90ba619e018d0102484656f92623c26c04e6ac 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -118,7 +118,12 @@ target_compile_options(Vivy PRIVATE
 target_link_libraries(Vivy PRIVATE -fopenmp)
 
 # Prepare for Qt6
-target_compile_definitions(Vivy PRIVATE QT_DISABLE_DEPRECATED_BEFORE=0x050F00)
+target_compile_definitions(Vivy PRIVATE
+    QT_DISABLE_DEPRECATED_BEFORE=0x050F00
+    QT_NO_CAST_TO_ASCII
+    #    QT_RESTRICTED_CAST_FROM_ASCII
+    QTCREATOR_UTILS_STATIC_LIB
+)
 
 # Some compiler specific warnings and options
 if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
diff --git a/src/Lib/Document/VivyDocument.cc b/src/Lib/Document/VivyDocument.cc
index 54c433721d31f10115ca7d3bd942adc88564e626..ae4c12355717d9ab4bb5246724259ed58a4cc389 100644
--- a/src/Lib/Document/VivyDocument.cc
+++ b/src/Lib/Document/VivyDocument.cc
@@ -152,11 +152,14 @@ VivyDocument::getDocumentCapabilitiesString() const noexcept
 {
     QStringList ret;
     if (documentType & AudioAble)
-        ret.push_back("AudioAble" + QString(audioDocument ? "" : "(ack)"));
+        ret.push_back("AudioAble" +
+                      QString(audioDocument ? QStringLiteral("") : QStringLiteral("(ack)")));
     if (documentType & VideoAble)
-        ret.push_back("VideoAble" + QString(videoDocument ? "" : "(ack)"));
+        ret.push_back("VideoAble" +
+                      QString(videoDocument ? QStringLiteral("") : QStringLiteral("(ack)")));
     if (documentType & AssAble)
-        ret.push_back("AssAble" + QString(assDocument ? "" : "(ack)"));
+        ret.push_back("AssAble" +
+                      QString(assDocument ? QStringLiteral("") : QStringLiteral("(ack)")));
     return ret.join(", ");
 }
 
diff --git a/src/Lib/Utils.hh b/src/Lib/Utils.hh
index bf61eedb9d13e2ee85a8d33e90f766b8c4e9b1bc..65d852436be3c07e8e3ac203bcd902ce3601f30c 100644
--- a/src/Lib/Utils.hh
+++ b/src/Lib/Utils.hh
@@ -15,6 +15,8 @@
 #include <type_traits>
 #include <chrono>
 
+#define VIVY_UNUSED __attribute__((unused))
+
 // Use chrono instead of std::chrono...
 namespace chrono = std::chrono;
 
diff --git a/src/UI/AboutWindow.cc b/src/UI/AboutWindow.cc
index 90b25a0bf343da6bbe464ab2879a4cc50611f54f..6c77913294b495e4fce3521ddb5144f8f175fba7 100644
--- a/src/UI/AboutWindow.cc
+++ b/src/UI/AboutWindow.cc
@@ -43,7 +43,7 @@ AboutWindow::SimpleLabel::SimpleLabel(QWidget *parent, const char *text)
     setTextFormat(Qt::RichText);
     setTextInteractionFlags(Qt::NoTextInteraction | Qt::LinksAccessibleByMouse |
                             Qt::LinksAccessibleByKeyboard);
-    setText(text);
+    setText(QString(text));
     setAlignment(Qt::AlignJustify | Qt::AlignTop);
 }
 
@@ -68,7 +68,7 @@ AboutWindow::LicenceLabel::LicenceLabel(QWidget *parent, const QString &url,
 
     switch (format) {
     case Qt::PlainText:
-    case Qt::RichText: setText(content.readAll()); break;
+    case Qt::RichText: setText(QString(content.readAll())); break;
     case Qt::MarkdownText: setMarkdown(content.readAll()); break;
     case Qt::AutoText: qCritical() << "Invalid text format for LicenceLabel" << format;
     }
diff --git a/src/UI/DocumentViews/MpvContainer.cc b/src/UI/DocumentViews/MpvContainer.cc
index d3fdd9668dda50999c43bf2f32edd6ab6cc2836d..ef64b08f76860e1aed2df00318ea67590e7ebdea 100644
--- a/src/UI/DocumentViews/MpvContainer.cc
+++ b/src/UI/DocumentViews/MpvContainer.cc
@@ -106,7 +106,7 @@ MpvContainer::handleMpvEvent(mpv_event *event) noexcept
 
     case MPV_EVENT_LOG_MESSAGE:
         msg     = reinterpret_cast<mpv_event_log_message *>(event->data);
-        msgText = msg->text;
+        msgText = QString(msg->text);
         msgText.replace('\n', "");
         qDebug().nospace().noquote()
             << "MPV - MSG [" << msg->prefix << "] " << msg->level << ": " << msgText;