C ++ "Schwerwiegender Fehler LNK1120" ungelöste statische Klassenmitglieder
Ich erhalte die folgende Fehlermeldung (jemand kann die unnötigen Bits gerne bearbeiten):
1> FIXDecoder.obj: Fehler LNK2001: nicht aufgelöstes externes Symbol "privat: statische Klasse std :: unordered_map, Klasse std :: allokator>, Klasse std :: basic_string, Klasse std :: allokator>, Struktur std :: hash, Klasse std :: allokator>>, struct std :: equal_to, class std :: allokator>>, class std :: allokator, class std :: allokator> const, class std :: basic_string, class std :: allokator>>>> FD :: FixValueMappingsDict "(? FixValueMappingsDict @ FD @@ 0V? $ Unordered_map @ V? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allokator @ D @ 2 @@ std @@ V12 @ U? $ Hash @V? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allocator @ D @ 2 @@ std @@@ 2 @ U? $ Equal_to @ V? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allokator @ D @ 2 @@ std @@@ 2 @ V? $ Allokator @ U? $ Pair @ $ CBV? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allokator @ D @ 2 @@ std @@ V12 @@ std @@@ 2 @@ std @@ A)
1> FD.obj: Fehler LNK2001: nicht aufgelöstes externes Symbol "privat: statische Klasse std :: unordered_map, Klasse std :: allokator>, Klasse std :: basic_string, Klasse std :: allokator>, Struktur std :: hash, Klasse std :: allokator>>, struct std :: equal_to, class std :: allokator>>, class std :: allokator, class std :: allokator> const, class std :: basic_string, class std :: allokator>>>> FD :: FIXFieldNoDict "(? FIXFieldNoDict @ FD @@ 0V? $ Unordered_map @ V? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allokator @ D @ 2 @@ std @@ V12 @ U? $ Hash @V? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allocator @ D @ 2 @@ std @@@ 2 @ U? $ Equal_to @ V? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allokator @ D @ 2 @@ std @@@ 2 @ V? $ Allokator @ U? $ Pair @ $ CBV? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allokator @ D @ 2 @@ std @@ V12 @@ std @@@ 2 @@ std @@ A)
1> C: \ Visual Studio 2012 \ Projects \ FD \ x64 \ Debug \ FD.exe: Schwerwiegender Fehler LNK1120: 2 nicht aufgelöste externe Probleme
für diesen Code:
//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 enthält nur einige Funktionen, die eine unordered_map erzeugen
#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();
.
.
};