Re: [PATCH 1/2] msvcp140: Add MSVC 2015 C++ support DLL (try 3)
On 08/02/16 01:40, Daniel Lehman wrote:
Try 3: - use commented out externs for vtables Try 2: - add -arch to stubs - use #define in _scprintf
Here's the list of stubs that still needs to be changed: ?_Init_cnt(a)_UShinit@std@@0HA :- private: static int std::_UShinit::_Init_cnt ?id@?$codecvt(a)DDU_Mbstatet@@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::codecvt<char,char,struct _Mbstatet>::id ?id@?$codecvt(a)GDU_Mbstatet@@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::codecvt<unsigned short,char,struct _Mbstatet>::id ?id@?$codecvt(a)_WDU_Mbstatet@@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::codecvt<wchar_t,char,struct _Mbstatet>::id ?id@?$messages(a)D@std@@2V0locale(a)2@A :- public: static class std::locale::id std::messages<char>::id ?id@?$messages(a)G@std@@2V0locale(a)2@A :- public: static class std::locale::id std::messages<unsigned short>::id ?id@?$messages(a)_W@std@@2V0locale(a)2@A :- public: static class std::locale::id std::messages<wchar_t>::id ?id@?$money_get(a)DV?$istreambuf_iterator(a)DU?$char_traits(a)D@std@@@std@@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::money_get<char,class std::istreambuf_iterator<char,struct std::char_traits<char> > >::id ?id@?$money_get(a)GV?$istreambuf_iterator(a)GU?$char_traits(a)G@std@@@std@@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::money_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id ?id@?$money_get(a)_WV?$istreambuf_iterator(a)_WU?$char_traits(a)_W@std@@@std@@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::money_get<wchar_t,class std::istreambuf_iterator<wchar_t,struct std::char_traits<wchar_t> > >::id ?id@?$money_put(a)DV?$ostreambuf_iterator(a)DU?$char_traits(a)D@std@@@std@@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::money_put<char,class std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id ?id@?$money_put(a)GV?$ostreambuf_iterator(a)GU?$char_traits(a)G@std@@@std@@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::money_put<unsigned short,class std::ostreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id ?id@?$money_put(a)_WV?$ostreambuf_iterator(a)_WU?$char_traits(a)_W@std@@@std@@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::money_put<wchar_t,class std::ostreambuf_iterator<wchar_t,struct std::char_traits<wchar_t> > >::id ?id@?$moneypunct(a)D$00(a)std@@2V0locale(a)2@A :- public: static class std::locale::id std::moneypunct<char,1>::id ?id@?$moneypunct(a)D$0A@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::moneypunct<char,0>::id ?id@?$moneypunct(a)G$00(a)std@@2V0locale(a)2@A :- public: static class std::locale::id std::moneypunct<unsigned short,1>::id ?id@?$moneypunct(a)G$0A@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::moneypunct<unsigned short,0>::id ?id@?$moneypunct(a)_W$00(a)std@@2V0locale(a)2@A :- public: static class std::locale::id std::moneypunct<wchar_t,1>::id ?id@?$moneypunct(a)_W$0A@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::moneypunct<wchar_t,0>::id ?id@?$time_get(a)GV?$istreambuf_iterator(a)GU?$char_traits(a)G@std@@@std@@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::time_get<unsigned short,class std::istreambuf_iterator<unsigned short,struct std::char_traits<unsigned short> > >::id ?id@?$time_get(a)_WV?$istreambuf_iterator(a)_WU?$char_traits(a)_W@std@@@std@@@std@@2V0locale(a)2@A :- public: static class std::locale::id std::time_get<wchar_t,class std::istreambuf_iterator<wchar_t,struct std::char_traits<wchar_t> > >::id ?intl@?$moneypunct(a)D$00(a)std@@2_NB :- public: static bool const std::moneypunct<char,1>::intl ?intl@?$moneypunct(a)D$0A@@std@@2_NB :- public: static bool const std::moneypunct<char,0>::intl ?intl@?$moneypunct(a)G$00(a)std@@2_NB :- public: static bool const std::moneypunct<unsigned short,1>::intl ?intl@?$moneypunct(a)G$0A@@std@@2_NB :- public: static bool const std::moneypunct<unsigned short,0>::intl ?intl@?$moneypunct(a)_W$00(a)std@@2_NB :- public: static bool const std::moneypunct<wchar_t,1>::intl ?intl@?$moneypunct(a)_W$0A@@std@@2_NB :- public: static bool const std::moneypunct<wchar_t,0>::intl Thanks, Piotr
participants (1)
-
Piotr Caban