Неразрешенный внешний символ для внутреннего класса - PullRequest
0 голосов
/ 25 апреля 2018

Я ссылаюсь на библиотеку со следующим определением класса (некоторые посторонние элементы / функции опущены):

class metric_family {
public:
    class builder {
        public:
            builder(std::string name, std::string help);
    }

    metric_family(const builder &builder);
};

, который в Windows возвращает LNK2001: неразрешенный внешний символ "public: __cdecl metric_family ::builder :: builder ("для строки, строка ctor (исключая все ошибки шаблона для строковых сообщений). Все остальные символы из этой библиотеки работают нормально, и я могу создать любой другой тип, кроме построителя. Что еще я могу сделатьнужно сделать, чтобы экспортировать класс построителя? Кажется, предварительное объявление не сработало, и это прекрасно работает на linux

...