Jump to content

  • Log In with Google      Sign In   
  • Create Account


Dev-C++ [Linker error] undefined reference to ...


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
8 replies to this topic

#1 EnvinyataR   Members   -  Reputation: 122

Like
Likes
Like

Posted 29 March 2004 - 04:57 PM

I searched this site, finding, that many have similar problems, but could not find the solution to my particular problem, I wrote a little example to explain my problem: I have two Class-files (MyClass.cpp and MyClass.h) and a Test file (class_t.cpp) They look like this (Example files): MyClass.h:
#ifndef _MYCLASS_
#define _MYCLASS_

class MyClass
{
	private:
	
	public:
		void test();
};

#endif	//_MYCLASS_

MyClass.cpp:
#include "MyClass.h"
#include <iostream>
using namespace std;

void MyClass::test()
{
	cout << "Test succesful!" << endl;
}

 
class_t.cpp
  
#include "MyClass.h"
#include <iostream>
using namespace std;

int main(){
	MyClass myInstance;
	myInstance.test();
	return 0;
}
When I now compile them with Dev-C++ 4.9.8.0 (MingW I guess, I did not change anything) it gives me the following error message: [Linker error] undefined reference to 'MyClass::test()' I can not remember that I have ever had that problem when I was using VisualC++. What did I do wrong? Thank you for your help, Ole [edited by - EnvinyataR on March 30, 2004 8:08:00 AM] [edited by - EnvinyataR on March 30, 2004 8:09:42 AM]

Sponsor:

#2 Raloth   Members   -  Reputation: 379

Like
Likes
Like

Posted 29 March 2004 - 05:15 PM

#include MyClass.h 
That looks suspicious.

#3 NewbJ   Members   -  Reputation: 226

Like
Likes
Like

Posted 29 March 2004 - 06:28 PM

Yeah, you''ll want to include MyClass.h in MyClass.cpp the same way you do in main (quotes...).

#4 EnvinyataR   Members   -  Reputation: 122

Like
Likes
Like

Posted 30 March 2004 - 01:07 AM

ohh sorry, but that is just a typing error. Even with quotes it gives out the same linker error.

#5 randomZ   Members   -  Reputation: 163

Like
Likes
Like

Posted 30 March 2004 - 07:57 AM

First of all, I think identifiers with leading underscores are reserved in some way, so you should change your macro names.

Do you have all .cpp files in your project? This is necessary for them to be linked together.


EDIT: And use int main(int argc, char* argv[]) - I've had problems with using int main() before.

---
Just trying to be helpful.

Sebastian Beschke
Just some student from Germany
http://mitglied.lycos.de/xplosiff

[edited by - randomZ on March 30, 2004 2:57:53 PM]

#6 quasar3d   Members   -  Reputation: 687

Like
Likes
Like

Posted 30 March 2004 - 08:46 AM

Your problem must be somewhere else, for it works fine for me, with mingw (not dev-cpp, btw, just the command line compiler). Are you sure you''ve included all your files in your project?

Try to make a new project, and create new files, in which you then paste the same code. If it then still doesn''t work, then I don''t know it any more

My Site

#7 yspotua   Members   -  Reputation: 122

Like
Likes
Like

Posted 30 March 2004 - 08:52 AM

I just compiled all that and it works under Dev C++ 4.9.8.7.

Make sure that you add ALL the files to the project and it should work. If it doesn''t, upgrade to the latest version and try it again.

#8 MadKiwi   Members   -  Reputation: 122

Like
Likes
Like

Posted 30 March 2004 - 09:13 AM

Do you realise you have to create a project if you have multiple files?

#9 EnvinyataR   Members   -  Reputation: 122

Like
Likes
Like

Posted 30 March 2004 - 04:22 PM

Thanks Guys, what stupid little mistake. I was actually aware of that, but I must have forgotten to use a project. Well it runs fine now... Thank you again.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS