Archived

This topic is now archived and is closed to further replies.

Unresolved External Symbols?

This topic is 5513 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

What exactly is
    
--------------------Configuration: Quest of the Flame - Win32 Debug--------------------
Linking...
Quest of the Flame.obj : error LNK2001: unresolved external symbol "public: char * __thiscall Character::ConvertItemName(int,int,bool)" (?ConvertItemName@Character@@QAEPADHH_N@Z)
Debug/Quest of the Flame.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Quest of the Flame.exe - 2 error(s), 0 warning(s)
    
supposed to mean? I don't get it. I tried looking it up in MSDN, but it didn't help. My source is here. Please help the noob! [edited by - gamechampionx on November 8, 2002 11:02:05 PM]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
The compiler is saying ''You promised me (by making a prototype) that you were gonna create a function. Then you went and called it. But I don''t see that function anywhere.''

There are four possible causes of this mixup.

a) You included a library but it wasn''t linked

b) You mispelled a function in either the prototype or the definition

c) You created a function and forgot to design it

d) You created a member function. But when you defined it you forgot to tell the compiler that the definition applied to that class.

Here is what needs to be:


  
class foo
{
public:
void func(void);
};

void foo::func(void)
{
// stuff

}


Note the ''foo::'' qualifier in front of the func() definition header.

99% of complaints of this type fall into one of those categories.

-D

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
My apologies.

Item c should be:

c) You created the prototype for a function but forgot to define it.

-D

Share this post


Link to post
Share on other sites
Yep, take a look. Character::ConvertItemName() is never defined. Instead it is defines as plain old ConvertItemName. Add the scope operator and your set.

Share this post


Link to post
Share on other sites