Export symbols from .a files

E

ernesto

Hi, everybody:

I created this very small class on Windos32, 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
 
V

Victor Bazarov

ernesto said:
Hi, everybody:

I created this very small class on Windos32, mingw:

main.h
------
[...]
main.cpp
----------
[...]
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?


Please post to a newsgroup dedicated to your compiler. Your question
is compiler-specific and as such is off-topic in a language newsgroup.
I recommend gnu.g++.help.

V
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,733
Messages
2,569,440
Members
44,831
Latest member
HealthSmartketoReviews

Latest Threads

Top