MSVC 2010 Express

Hello, I’m trying to build the Example Devices solution with MSVC 2010 Express and am receiving linker errors:

1>PluginCore.lib(WMPacket.obj) : error LNK2019: unresolved external symbol "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) referenced in function "public: __thiscall std::locale::locale(void)" (??0locale@std@@QAE@XZ) 1>PluginCore.lib(DeviceWorld.obj) : error LNK2001: unresolved external symbol "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) 1>PluginCore.lib(Device.obj) : error LNK2001: unresolved external symbol "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) 1>PluginCore.lib(Parameter.obj) : error LNK2001: unresolved external symbol "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) 1>PluginCore.lib(HField.obj) : error LNK2001: unresolved external symbol "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) 1>PluginCore.lib(IODevices.obj) : error LNK2001: unresolved external symbol "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) 1>PluginCore.lib(WMPacket.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) 1>PluginCore.lib(DeviceWorldBuilder.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) 1>PluginCore.lib(Ports.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) 1>PluginCore.lib(DeviceWorld.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) 1>PluginCore.lib(Device.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) referenced in function "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsigned int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z) 1>PluginCore.lib(Parameter.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) 1>PluginCore.lib(HField.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) 1>PluginCore.lib(IODevices.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) 1>PluginCore.lib(WMPacket.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ) 1>PluginCore.lib(DeviceWorldBuilder.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ) 1>PluginCore.lib(Ports.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ) 1>PluginCore.lib(DeviceWorld.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ) 1>PluginCore.lib(Device.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ) referenced in function "protected: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned int,bool)" (?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z) 1>PluginCore.lib(Parameter.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ) 1>PluginCore.lib(HField.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ) 1>PluginCore.lib(IODevices.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ) 1>PluginCore.lib(WMPacket.obj) : error LNK2019: unresolved external symbol "long const std::_BADOFF" (?_BADOFF@std@@3JB) referenced in function "protected: virtual class std::fpos<int> __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::seekoff(long,int,int)" (?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z) 1>PluginCore.lib(DeviceWorld.obj) : error LNK2001: unresolved external symbol "long const std::_BADOFF" (?_BADOFF@std@@3JB) 1>Release\Example Devices.dll : fatal error LNK1120: 4 unresolved externals

Does anyone know what the problem is or perhaps have a successfully-converted, MSVC 2010 Express solution?

Bump.

I’ve made a rotation macro (attached) that allows arbitrary angles. It uses a series of three shears in alternating directions to perform rotation. Depending on whether the shears begin vertically or horizontally, different corners of the heightmap are clipped. I’d like to do the rotation both ways and combine them to get more of the rotated heightmap. The issue is, without trigonometric functions, I appear to be forced to use the Taylor approximations which leads to inaccuracies that are noticeable on combination.

If someone could help me set up an environment to compile and link the example device, I think I could develop a trig device and make this rotation macro really shine.

Hi there,

I wish I had better news, but at the moment building plugins with MSVC2010 is not possible. The C runtime changed between what WM2.2 was built with (MSVC2005) and MSVC-2010.

The good news is that I’m currently in the process of converting things over to 2010. There’s a fair bit of reworking of the automated build system here to be done which is why it has not happened yet, but it is one of my “must haves” for the impending WM 2.3 release.

I will defintely post news about this when it happens!

Ah, that makes sense. Well at least even if I was doing it right it wouldn’t have linked anyway.

I actually tried to install MSVC 2005 Express and had some installation problems on Windows 7, but maybe I’ll go back and try again in the meantime. Thanks for the reply!

That is great news :smiley: