【VC】程序运行提示错误error LNK2001: unresolved external symbol ,该如何解决?(结合具体例子见下)
题目:通过定义Time类来显示时间。
1.头文件【 classdef.h】定义类Time:
class Time
{
private:
int hour;
int minute;
int second;
public:
void setTime(int,int,int);
void showTime();
};
2.在【fundef.cpp】文件中定义类的成员函数:
#include<iostream.h>
#include"classdef.h"
void Time::setTime(int h,int m,int s)
{
hour=(h>=0&&h<24)?h:0;
minute=(m>=0&&m<60)?m:0;
second=(s>=0&&s<60)?s:0;
}
void Time::showTime()
{
cout<<hour<<":"<<minute<<":"<<second<<endl;
}
3.在【funmain.cpp】编写主函数main(),实现类的功能
#include<iostream.h>
#include"classdef.h"
int main()
{
Time EndTime;
EndTime.setTime(12,23,36);
cout<<"The time is:";
EndTime.showTime();
return 0;
}
4.【funmain.cpp】文件运行结果:
--------------------Configuration: funmain - Win32 Debug--------------------
Linking...
funmain.obj : error LNK2001: unresolved external symbol "public: void __thiscall Time::showTime(void)" (?showTime@Time@@QAEXXZ)
funmain.obj : error LNK2001: unresolved external symbol "public: void __thiscall Time::setTime(int,int,int)" (?setTime@Time@@QAEXHHH@Z)
Debug/funmain.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
funmain.exe - 3 error(s), 0 warning(s)
请问该如何解决,另外出现这种情况的原因是什么,谢谢!好答案提高悬赏!!!
追问:能否提供具体一点的步骤,我是要再建立一个文件吗?建立什么文件?用Win32 Console Application吗?还是MFC?不好意思,我是新手。第二步选An empty project, a 易做图 application, 还是Hello World?
如果选择Hello World! 添加3个文件后,运行结果:
funmain.cpp
e:\exercise\p75\p75\funmain.cpp(13) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.
funmain.obj - 1 error(s), 0 warning(s)
答案:你添加工程的时候把那几个文件都要添加进去
其他:你没把fundef.cpp放进工程里吧?另外c++最好头文件跟实现文件(cpp)名字起一样的
上一个:步数计是什么?能关吗?
下一个:为什么编译时有警告说from const double to float?