I'm trying to construct a small library of wrappers for boost-using
functions.
In my test environment that links with this library (a windows executable) everything is fine. The working environment doesn't name any libraries explicitly.
In another environment (the one I'm actually interested in) I get a large number of linkage errors, apparently seeking libstdc++
A small sample:
1>sharedmem-debug-x64.lib(sharedmemory.obj) : warning LNK4217: locally defined symbol ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@XZ (public: __cdecl std::basic_string::~basic_string(void)) imported in function "public: static bool __cdecl boost::interprocess::shared_memory_object::remove(char const *)" (?remove@shared_memory_object@interprocess@boost@@SA_NPEBD@Z)
1>sharedmem-debug-x64.lib(sharedmemory.obj) : warning LNK4217: locally defined symbol ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ (public: char const * __cdecl std::basic_string::c_str(void)const ) imported in function "public: static bool __cdecl boost::interprocess::shared_memory_object::remove(charconst *)" (?remove@shared_memory_object@interprocess@boost@@SA_NPEBD@Z)
The non-working link is a complex environment, but I'm stumped why it
doesn't link, or how to get it to link.