undefined reference problem

Andre Kirchner supercroc1974@yahoo.com
Tue Jul 20 19:34:00 GMT 2004


Hi,
I made this simple C++ program, but when I try to
compile it, gcc returns the followinf error message:

gcc -c Connector.cpp
gcc -c main.cpp
gcc  ./*.o -o main.out
./main.o(.eh_frame+0x11): undefined reference to
`__gxx_personality_v0'
collect2: ld returned 1 exit status
make: *** [main.out] Error 1

What is this undefined reference to
`__gxx_personality_v0, and how do I fix it?
The following is the code of main.cpp, Connecot.h and
Connector.cpp if it may help you to find the problem.

Thanks a lot,

Andre 

_________________________________________
main.cpp:

#ifndef MAIN
#	define MAIN
#	include "main.h"
#endif

int main( int argc, char *argv[] )
{
//	char theMessage[ 256 ];
	Connector theConnector;

	
//	theConnector.connect( "mx1.hotmail.com", 25 );
//	theConnector.receiveMessage( theMessage, 255 );

//	printf( "%s\n", theMessage );

//	theConnector.disconnect;



	return ( EXIT_SUCESS );
}
_________________________________________
Connector.h:

#define ERROR -1
#define SUCCESS 0

#ifndef SOCKET
#	define SOCKET
#	include <sys/socket.h>
#endif

#ifndef NETDB
#	define NETDB
#	include <netdb.h>
#endif

#ifndef STRING
#	define STRING
#	include <string.h>
#endif

#ifndef UNISTD
#	define UNISTD
#	include <unistd.h>
#endif

class Connector
{
  public:
    Connector(){};
    ~Connector(){};
    int connect( const char * theMailServerName, int
thePortNumber );
    int sendMessage( const char * theMessage );
    int receiveMessage( char * theMessage, int
theMessageLength );
    int disconnect();

  private:
    int sockfd;
};
________________________________________
Connector.cpp:

#ifndef CONNECTOR
#	define CONNECTOR
#	include "Connector.h"
#endif

int Connector::connect( const char *
theMailServerName, int thePortNumber )
{
	struct sockaddr_in theMailServerAddress;
	struct hostent * theMailServer;

	sockfd = socket( AF_INET, SOCK_STREAM, 0 );
	if( sockfd < 0 )
		return( ERROR );

	theMailServer = gethostbyname( theMailServerName );
    	if ( theMailServer == NULL )
		return( ERROR );

	bzero( ( char *) &theMailServerAddress, sizeof(
theMailServerAddress ) );
	theMailServerAddress.sin_family = AF_INET;
	bcopy( ( char *)theMailServer->h_addr, ( char
*)&theMailServerAddress.sin_addr.s_addr,
theMailServer->h_length );
	theMailServerAddress.sin_port = htons( thePortNumber
);

	return( SUCCESS );
}

int Connector::sendMessage( const char * theMessage )
{
	if( send( sockfd, theMessage, strlen( theMessage ), 0
) < 0 )
		return( ERROR );

	return( SUCCESS );
}

int Connector::receiveMessage( char * theMessage, int
theMessageLength )
{
	if( recv ( sockfd, theMessage, theMessageLength, 0) <
0 )
		return( ERROR );

	return( SUCCESS );
}

int Connector::disconnect()
{
	if( close( sockfd ) < 0 )
		return( ERROR );

	return( SUCCESS );
}





		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail 



More information about the Gcc-help mailing list