>E:\vcproject\word10.3\Debug\word10.3.exe : fatal error LNK1120: 1 个无法解析的外部命令
>word.obj : error LNK2019: 无法解析的外部符号 "class std::basic_ifstream<char,struct std::char_traits<char> > & __cdecl open_file(class std::basic_ifstream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?open_file@@YAAAV?$basic_ifstream@DU?$char_traits@D@std@@@std@@AAV12@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z),该符号在函数 _main 中被引用
解决方案:函数ifstream& open_file(ifstream&, const string&);在工程中没有实现;
ifstream& open_file(ifstream&mapfile, const string&filename) { mapfile.close(); mapfile.clear(); //将流设置为有效状态 mapfile.open(filename.c_str()); //C风格的char return mapfile; }
1》当我 文件》新建》项目》Visual C++ 空项目word10.3》在源文件中添加》新建文件》C++文件(.cpp)》把第十章的习题word_transform.cpp全部复制进去》生成 出现如下问题。
2》重新生成 成功
3》运行之后
弹出对话框:word10.3.exe 中的 0x7665b9bc 处有未经处理的异常: Microsoft C++ 异常: 内存位置 0x0044f0ec 处的 std::runtime_error。
解决方案:这是因为int main(int argc, char **argv)需要的两个参数,打开文件trans-map trans-text两个文件
4》打开Microsoft Visual Studio 2010》Visual Studio Tools》Visual Studio 命令提示(2010)
a. 进入我们工程文件生成word10.3.exe的位置》进入盘比如E盘 e:、 进入文件夹 cd
b. 把文件trans-map trans-text拷进目录word10.3.exe一个目录下,在命令指示符输入 >word10.3 trans-map trans-text 按Enter就会出现
5》分析一下代码