Are there any specific instructions to build using MSVC/Visual Studio?
After creating a class that refers to
Class1.obj : error LNK2001: unresolved external symbol mallocx [myproject.vcxproj]
Class1.obj : error LNK2001: unresolved external symbol rallocx [myproject.vcxproj]
Class1.obj : error LNK2001: unresolved external symbol xallocx [myproject.vcxproj]
Class1.obj : error LNK2001: unresolved external symbol sallocx [myproject.vcxproj]
Class1.obj : error LNK2001: unresolved external symbol dallocx [myproject.vcxproj]
Class1.obj : error LNK2001: unresolved external symbol sdallocx [myproject.vcxproj]
Class1.obj : error LNK2001: unresolved external symbol nallocx [myproject.vcxproj]
Class1.obj : error LNK2001: unresolved external symbol mallctl [myproject.vcxproj]
Class1.obj : error LNK2001: unresolved external symbol mallctlnametomib [myproject.vcxproj]
Class1.obj : error LNK2001: unresolved external symbol mallctlbymib [myproject.vcxproj]
Tracking the definition for those symbols, MallocImpl.cpp shows:
#ifdef _MSC_VER
// MSVC doesn't have weak symbols, so do some linker magic
// to emulate them. (the magic is in the header)
const char* mallocxWeak = nullptr;
const char* rallocxWeak = nullptr;
const char* xallocxWeak = nullptr;
const char* sallocxWeak = nullptr;
const char* dallocxWeak = nullptr;
const char* sdallocxWeak = nullptr;
const char* nallocxWeak = nullptr;
const char* mallctlWeak = nullptr;
const char* mallctlnametomibWeak = nullptr;
const char* mallctlbymibWeak = nullptr;
... but no concrete definition for mallocx, rallocx, etc.