I'm linking against a library with the following class definition (some extraneous members/functions omitted):
class metric_family {
public:
class builder {
public:
builder(std::string name, std::string help);
}
metric_family(const builder &builder);
};
Which on windows returns an LNK2001: unresolved external symbol "public: __cdecl metric_family::builder::builder(" for the string, string ctor (omitting all the template error for string messages). Every other symbol from this library works fine and I can create any other type from there except for a builder. What else more do I need to do to export the builder class? A forward declaration doesn't seem to have worked, and this works fine on linux