From ad6aaa81a9fa9546152aea68dfb4f61d97d46bdd Mon Sep 17 00:00:00 2001 From: Brad Hughes Date: Wed, 2 Mar 2016 16:23:08 -0500 Subject: link ole32 on Windows. Needed for CoInitializeEx() --- scripts/src/osd/windows.lua | 1 + 1 file changed, 1 insertion(+) (limited to 'scripts/src/osd/windows.lua') diff --git a/scripts/src/osd/windows.lua b/scripts/src/osd/windows.lua index 877d1503915..50e19e8e71a 100644 --- a/scripts/src/osd/windows.lua +++ b/scripts/src/osd/windows.lua @@ -46,6 +46,7 @@ function maintargetosdoptions(_target,_subtarget) "comctl32", "comdlg32", "psapi", + "ole32", } end -- cgit v1.2.3-70-g09d2 From 626a13ae1a675ca0ee3ef0f22bf2963afb4d1972 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Sat, 5 Mar 2016 14:12:51 +0100 Subject: Fixing issue compiling on GCC 4.9 till 5.1 (nw) --- 3rdparty/compat_cpp14.h | 65 +++++++++++++++++++++++++++++++++++++++++++++ scripts/src/osd/windows.lua | 1 + src/emu/emu.h | 2 ++ 3 files changed, 68 insertions(+) create mode 100644 3rdparty/compat_cpp14.h (limited to 'scripts/src/osd/windows.lua') diff --git a/3rdparty/compat_cpp14.h b/3rdparty/compat_cpp14.h new file mode 100644 index 00000000000..6f7ea71885a --- /dev/null +++ b/3rdparty/compat_cpp14.h @@ -0,0 +1,65 @@ +// Ville Voutilainen code from include/bits/range_access.h from libstdc++ + +#if defined(__GNUC__) && ((__GNUC__ == 5 && __GNUC_MINOR__ < 2) || (__GNUC__ == 4 && __GNUC_MINOR__ > 8)) + +template + inline constexpr auto + cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont)))-> decltype(std::begin(__cont)) + { return std::begin(__cont); } + +template + inline constexpr auto + cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))-> decltype(std::end(__cont)) + { return std::end(__cont); } + +template + inline auto + rbegin(_Container& __cont) -> decltype(__cont.rbegin()) + { return __cont.rbegin(); } + +template + inline auto + rbegin(const _Container& __cont) -> decltype(__cont.rbegin()) + { return __cont.rbegin(); } + +template + inline auto + rend(_Container& __cont) -> decltype(__cont.rend()) + { return __cont.rend(); } + +template + inline auto + rend(const _Container& __cont) -> decltype(__cont.rend()) + { return __cont.rend(); } + +template + inline reverse_iterator<_Tp*> + rbegin(_Tp (&__arr)[_Nm]) + { return reverse_iterator<_Tp*>(__arr + _Nm); } + +template + inline reverse_iterator<_Tp*> + rend(_Tp (&__arr)[_Nm]) + { return reverse_iterator<_Tp*>(__arr); } + +template + inline reverse_iterator + rbegin(initializer_list<_Tp> __il) + { return reverse_iterator(__il.end()); } + +template + inline reverse_iterator + rend(initializer_list<_Tp> __il) + { return reverse_iterator(__il.begin()); } + +template + inline auto + crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont)) + { return std::rbegin(__cont); } + +template + inline auto + crend(const _Container& __cont) -> decltype(std::rend(__cont)) + { return std::rend(__cont); } + +#endif \ No newline at end of file diff --git a/scripts/src/osd/windows.lua b/scripts/src/osd/windows.lua index 50e19e8e71a..80360ac2ecb 100644 --- a/scripts/src/osd/windows.lua +++ b/scripts/src/osd/windows.lua @@ -217,6 +217,7 @@ project ("ocore_" .. _OPTIONS["osd"]) dofile("windows_cfg.lua") includedirs { + MAME_DIR .. "3rdparty", MAME_DIR .. "src/emu", MAME_DIR .. "src/osd", MAME_DIR .. "src/lib", diff --git a/src/emu/emu.h b/src/emu/emu.h index 0cf7b7c1384..afea75e477f 100644 --- a/src/emu/emu.h +++ b/src/emu/emu.h @@ -25,6 +25,8 @@ #include #include +#include "compat_cpp14.h" + // core emulator headers -- must be first #include "emucore.h" #include "eminline.h" -- cgit v1.2.3-70-g09d2