我认为问题在于我的CS课程中使用的辅助库中包含的函数ConvertToUpperCase
。我正在尝试为我的实验写一些东西,但是我学习了帮助库 - 所以如果没有它我就不知道该怎么办。
完整错误错误:
LNK2019:未解析的外部符号“class std :: basic_string,class std :: allocator> __cdecl ConvertToUpperCase(class std :: basic_string,class std :: allocator>)”(?ConvertToUpperCase @@ YA?AV?$ basic_string @ DU?$ char_traits @ D @ std @@ V?$ allocator @ D @ 2 @@ std @@ V12 @@ Z)在函数“public:bool __thiscall Lexicon :: containsPrefix(class std :: basic_string,class)”中引用std :: allocator>)“(?containsPrefix @ Lexicon @@ QAE_NV?$ basic_string @ DU?$ char_traits @ D @ std @@ V?$ allocator @ D @ 2 @@ std @@@ Z)
该功能包含在strutils.h
中并解释了here
示例代码:
#include "stdafx.h"
#include <cstdlib>
#include <string>
#include <iostream>
#include <set>
#include <fstream>
#include "genlib.h"
#include "strutils.h"
#include "simpio.h"
#include "set.h"
#include "lexicon.h"
using namespace std;
/* Function: AddWord1
* -----------------
* This function prompts the user for a code and then
* coverts entry to upper case and adds this word to the code list passed in.
*/
void AddWord1(Lexicon & lex)
{
cout << "Please enter activity code to add: ";
string word = ConvertToUpperCase(GetLine()); //may need to remove for code
lex.add(word);
cout << word << " added to code list." << endl;
}
澄清:
答案 0 :(得分:1)
应该有一个包含已编译代码的库以及您拥有的标头。您需要将该库(.lib或.obj文件)添加到项目中 - 特别是您需要将其包含在链接器设置中。
如果您没有,那么您可能有一个或多个定义这些功能的C ++源文件 - 您可以将它们添加到项目中。
如果你没有这些,那么你有问题,我很害怕。
答案 1 :(得分:0)
如果您不再访问该库(因为您可能不再在该课程中),您可以使用this question中的一种技术编写自己的ConvertToUpperCase
函数。< / p>