gpt4 book ai didi

c++ - 错误 LNK2019 : unresolved external symbol for class unordered_map

转载 作者:太空宇宙 更新时间:2023-11-04 11:41:00 25 4
gpt4 key购买 nike

当我使用 Visual Studio 时,我的代码可以在我学校的计算机上运行,​​但是当我在我的计算机上也尝试使用 Visual Studio 2012 时,它会编译,但在我构建我的项目时会出现此错误:

Main.obj : error LNK2019: unresolved external symbol "class std::unordered_map,class std::allocator >,int,struct std::hash,class std::allocator > >,struct std::equal_to,class std::allocator > >,class std::allocator,class std::allocator > const ,int> > > __cdecl getFrequency(class std::vector,class std::allocator >,class std::allocator,class std::allocator > > >,class std::unordered_map,class std::allocator >,int,struct std::hash,class std::allocator > >,struct std::equal_to,class std::allocator > >,class std::allocator,class std::allocator > const ,int> > >)" (?getFrequency@@YA?AV?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@HU?$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?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@std@@@2@@std@@V?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@2@V12@@Z) referenced in function _main C:\Users\name.lastname\Documents\Visual Studio 2012\Projects[Cpp]Mapping\Debug[Cpp]Mapping.exe : fatal error LNK1120: 1 unresolved externals

因为它可以在我学校的计算机上使用完全相同的代码运行,所以我不会给你代码,因为它很重。我认为问题是链接器看不到 unordered_map 类,我知道如何将库添加到我的项目但不知道这个特定类。有任何想法吗?

如果您真的认为代码很重要,请发表评论。

提前致谢!

编辑

这是我的 Map_Operations.h 文件,我在其中声明了 getFrequency();方法:

#ifndef MAP_OPERATIONS_H_
#define MAP_OPERATIONS_H_

#include <string>
#include <unordered_map>
#include <vector>

std::unordered_map <std::string, int> getFrequency(std::vector<std::string> FILE_CONTENT, std::unordered_map<std::string, int> MASTER_MAP);

#endif /* MAP_OPERATIONS_H_ */

这是我实现它的 Map_Operations.cpp 文件:

#include "Map_Operations.h"

#include <string>
#include <unordered_map>
#include <vector>

using namespace std;

unordered_map <string, int> getFrequency(vector<string> FILE_CONTENT, unordered_map<string, int> & MASTER_MAP){

unordered_map <string, int> MAP;

// Iterate through the current file being copied and push_back all the words in the
// DOCUMENTS_ALL vector and in the MAP to compute their frequency
for(vector<string>::size_type j = 0; j != FILE_CONTENT.size(); ++j){

string TEMP = FILE_CONTENT[j];

unordered_map<string, int>::const_iterator MAP_CURRENT = MAP.find(TEMP); // Create iterator to know if the Key is in the MAP or not
unordered_map<string, int>::const_iterator MAP_MASTER = MASTER_MAP.find(TEMP); // Create iterator to know if the Key is in the MAP or not

if ( MAP_CURRENT == MAP.end() ){ // If not in the MAP add it without incrementing
MAP[TEMP] = 1;
}else{ // If it is in the MAP then increment and add it
MAP[TEMP] = MAP[TEMP]+1;
}

if( MAP_MASTER == MASTER_MAP.end()){ // If not in the MASTER_MAP then add it
MASTER_MAP[TEMP] = 1;
}else { // If already in it then increment counter
MASTER_MAP[TEMP] = MASTER_MAP[TEMP]+1;
}
}

return MAP;

最佳答案

问题不在于 unordered_map,问题在于 getFrequency

您必须链接到提供该功能的库。

关于c++ - 错误 LNK2019 : unresolved external symbol for class unordered_map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21417209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com