help-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Exporting symbols from .a files


From: ernesto
Subject: Exporting symbols from .a files
Date: 5 Jul 2005 12:10:04 -0700
User-agent: G2/0.2

Hi, everybody:


I created this very small class on Windows32 and mingw:


main.h
------
#ifdef DLL
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT __declspec(dllimport)
#endif


class DLLEXPORT A
{
 public:
  A();
  virtual ~A();


  virtual const char* GetMessage();



};


class DLLEXPORT B : public A
{
 public:
  B();
  virtual ~B();

  virtual const char* GetMessage();



};


main.cpp
----------
#include <stdio.h>

#include "main.h"


A::A()
{
 printf("A constructor\n");



}


A::~A()
{
 printf("A destructor\n");


}


const char* A::GetMessage()
{
 return "Hello A world";


}


B::B()
{
 printf("B constructor\n");


}


B::~B()
{
 printf("B destructor\n");


}


const char* B::GetMessage()
{
 return "B sides are better";


}


I compiled it using:

     g++ -c main.cpp -DDLL
     ar -r main.a main.o
     g++ -shared -o main.dll main.a -Wl,-output-def,main.def


and it does not export any symbols, but doing a:


     g++ -shared -o main.dll main.o -Wl,-output-def,main.def


exports all classes and methods perfectly. 


Any ideas? 


ernesto



reply via email to

[Prev in Thread] Current Thread [Next in Thread]