C ++ «Неустранимая ошибка LNK1120» неразрешенные статические члены класса

Я получаю следующее сообщение об ошибке (кто-то может редактировать ненужные биты):

1> FIXDecoder.obj: ошибка LNK2001: неразрешенный внешний символ "private: статический класс std :: unordered_map, класс std :: allocator>, класс std :: basic_string, класс std :: allocator>, struct std :: hash, класс std :: allocator>>, struct std :: equal_to, класс std :: allocator>>, класс std :: allocator, класс std :: allocator> const, класс std :: basic_string, класс std :: allocator>>>> FD :: FixValueMappingsDict "(? FixValueMappingsDict @ FD @@ 0V? $ Unordered_map @ V? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allocator @ D @ 2 @@ std @@ V12 @ U? $ Hash @V? $ basic_string @ DU? $ char_traits @ D @ станд @@ V? $ распределитель @ D @ 2 @@ станд @@@ 2 @ U? $ equal_to @ V? $ basic_string @ DU? $ char_traits @ D @ станд @@ V? $ распределитель @ D @ 2 @@ станд @@@ 2 @ V? $ распределитель @ U? $ пара @ $ ОЦК? $ basic_string @ DU? $ char_traits @ D @ станд @@ V? $ распределитель @ D @ 2 @@ станд @@ @@ V12 станд @@@ 2 @@ станд @@ А)

1> FD.obj: ошибка LNK2001: неразрешенный внешний символ "private: статический класс std :: unordered_map, класс std :: allocator>, класс std :: basic_string, класс std :: allocator>, struct std :: hash, класс std :: allocator>>, struct std :: equal_to, класс std :: allocator>>, класс std :: allocator, класс std :: allocator> const, класс std :: basic_string, класс std :: allocator>>>> FD :: FIXFieldNoDict "(? FIXFieldNoDict @ FD @@ 0V? $ Unordered_map @ V? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allocator @ D @ 2 @@ std @@ V12 @ U? $ Hash @V? $ basic_string @ DU? $ char_traits @ D @ станд @@ V? $ распределитель @ D @ 2 @@ станд @@@ 2 @ U? $ equal_to @ V? $ basic_string @ DU? $ char_traits @ D @ станд @@ V? $ распределитель @ D @ 2 @@ станд @@@ 2 @ V? $ распределитель @ U? $ пара @ $ ОЦК? $ basic_string @ DU? $ char_traits @ D @ станд @@ V? $ распределитель @ D @ 2 @@ станд @@ @@ V12 станд @@@ 2 @@ станд @@ А)

1> C: \ visual studio 2012 \ Projects \ FD \ x64 \ Debug \ FD.exe: фатальная ошибка LNK1120: 2 неразрешенных внешних кода

для этого кода:

//FH.h
#ifndef FD_H
#define FD_H

#include "FM.h"
#include <unordered_map>
#include <string>

class FD{
public:
    FD();
    FD(FM message);
    ~FD();
    FD(const FD& tocopy);
    FD& operator=(const FD& toassign);

private:
    static unordered_map<string,string> FIXFieldNoDict;
    static unordered_map<string,string> FixValueMappingsDict;
};

#endif

//FD.cpp
#include "FD.h"
#include "Mappings.h"
#include "Utils.h"
#include <vector>
#include <string>
#include <iostream>
#include <unordered_map>

using namespace std;

FD::FD(){
    FIXFieldNoDict = Mappings::createFIXFieldNoDict();
    FixValueMappingsDict = Mappings::getFIXValuesDict();
}

Mappings.h просто содержит некоторые функции, которые создают unordered_map

#ifndef MAPPINGS_H
#define MAPPINGS_H

#include <unordered_map>
#include <string>

using namespace std;

class Mappings{

public:
    Mappings();

    static unordered_map<string,string> createFIXFieldNoDict();

    static unordered_map<string,string> getFIXValuesDict();
.
.
};

Ответы на вопрос(2)

Ваш ответ на вопрос