diff --git a/src/account.h b/src/account.h
index 31422570f35e633dfd63a9545c6a176e970e6ceb..b4a46f0f2400507dfac09bfa83f0ebfad7bc2448 100644
--- a/src/account.h
+++ b/src/account.h
@@ -61,7 +61,7 @@ namespace ring {
 
 class Call;
 class SystemCodecContainer;
-class IceTransportOptions;
+struct IceTransportOptions;
 
 class VoipLinkException : public std::runtime_error
 {
diff --git a/src/im/message_engine.cpp b/src/im/message_engine.cpp
index 6c33d62407d1a6153b0d099717d14f8d9d9a7160..db995047550be6800b9b24bd3cc60cf194b3bbbb 100644
--- a/src/im/message_engine.cpp
+++ b/src/im/message_engine.cpp
@@ -53,7 +53,7 @@ MessageEngine::sendMessage(const std::string& to, const std::map<std::string, st
         m.first->second.payloads = payloads;
     }
     save();
-    runOnMainThread([this,token]() {
+    runOnMainThread([this]() {
         retrySend();
     });
     return token;
diff --git a/src/media/media_encoder.h b/src/media/media_encoder.h
index c8688c92237e723acc272a73de2e92b9ecb80184..6d65f107cda6961b365c40af4bb28dee3a2caf4e 100644
--- a/src/media/media_encoder.h
+++ b/src/media/media_encoder.h
@@ -37,11 +37,11 @@
 #include <string>
 #include <vector>
 
-class AVCodecContext;
-class AVStream;
-class AVFormatContext;
-class AVDictionary;
-class AVCodec;
+struct AVCodecContext;
+struct AVStream;
+struct AVFormatContext;
+struct AVDictionary;
+struct AVCodec;
 
 namespace ring {
 
diff --git a/src/media/video/video_base.h b/src/media/video/video_base.h
index 22abb0cfc53bce1effb3907b227763d92f6db556..869921da6d90bfdda62c3049bc500cdf65448c3a 100644
--- a/src/media/video/video_base.h
+++ b/src/media/video/video_base.h
@@ -36,11 +36,11 @@
 #include <mutex>
 #include <ciso646> // fix windows compiler bug
 
-class AVPacket;
-class AVDictionary;
+struct AVPacket;
+struct AVDictionary;
 
 #ifndef AVFORMAT_AVIO_H
-class AVIOContext;
+struct AVIOContext;
 #endif
 
 namespace ring {