-#include "wx/mediactrl.h" //for wxMediaCtrl
-#include "wx/filedlg.h" //for opening files from OpenFile
-#include "wx/slider.h" //for a slider for seeking within media
-#include "wx/sizer.h" //for positioning controls/wxBoxSizer
-#include "wx/timer.h" //timer for updating status bar
-#include "wx/textdlg.h" //for getting user text from OpenURL/Debug
-#include "wx/notebook.h" //for wxNotebook and putting movies in pages
-#include "wx/cmdline.h" //for wxCmdLineParser (optional)
-#include "wx/listctrl.h" //for wxListCtrl
-#include "wx/dnd.h" //drag and drop for the playlist
-#include "wx/filename.h" //For wxFileName::GetName()
-#include "wx/config.h" //for native wxConfig
+#include "wx/mediactrl.h" // for wxMediaCtrl
+#include "wx/filedlg.h" // for opening files from OpenFile
+#include "wx/slider.h" // for a slider for seeking within media
+#include "wx/sizer.h" // for positioning controls/wxBoxSizer
+#include "wx/timer.h" // timer for updating status bar
+#include "wx/textdlg.h" // for getting user text from OpenURL/Debug
+#include "wx/notebook.h" // for wxNotebook and putting movies in pages
+#include "wx/cmdline.h" // for wxCmdLineParser (optional)
+#include "wx/listctrl.h" // for wxListCtrl
+#include "wx/dnd.h" // drag and drop for the playlist
+#include "wx/filename.h" // For wxFileName::GetName()
+#include "wx/config.h" // for native wxConfig
+
+// Under MSW we have several different backends but when linking statically
+// they may be discarded by the linker (this definitely happens with MSVC) so
+// force linking them. You don't have to do this in your code if you don't plan
+// to use them, of course.
+#if defined(__WXMSW__) && !defined(WXUSINGDLL)
+ #include "wx/link.h"
+ wxFORCE_LINK_MODULE(wxmediabackend_am)
+ wxFORCE_LINK_MODULE(wxmediabackend_qt)
+ wxFORCE_LINK_MODULE(wxmediabackend_wmp10)
+#endif // static wxMSW build
+
+#ifndef __WXMSW__
+ #include "../sample.xpm"
+#endif