Making a library

R

redneon

Does anyone have any good links to information on how it's possible to
make a library in C++? I can't seem to find anything.
 
R

Rolf Magnus

redneon said:
Does anyone have any good links to information on how it's possible to
make a library in C++? I can't seem to find anything.

This is platform/compiler specific. Standard C++ doesn't know anything about
libraries (except the C++ standard library, which is automatically
available), so there is no general C++ way.
 
R

redneon

Is it not possible to use external libraries in C++ then like you can
in Java or C#?

I've been away on placement for a year doing C# so my C++ skills have
kind of rusted a bit and the boundaries between the two are blurred in
my brain at the moment =o)

Basically, I'm writing a C++ app for my final year project at
University and what I'm wanting to do is produce a library (or
something similar) which people can #include and then get access to the
member functions etc. that I provide.

In C# it's possible to compile a .dll file and then just include that
to give you access. Is this not possible in C++? Can you offer any
alternatives? I don't really want people cutting and pasting my code
=o)
 
K

Karl Heinz Buchegger

redneon said:
Is it not possible to use external libraries in C++ then like you can
in Java or C#?

I've been away on placement for a year doing C# so my C++ skills have
kind of rusted a bit and the boundaries between the two are blurred in
my brain at the moment =o)

Basically, I'm writing a C++ app for my final year project at
University and what I'm wanting to do is produce a library (or
something similar) which people can #include and then get access to the
member functions etc. that I provide.

In C# it's possible to compile a .dll file and then just include that
to give you access. Is this not possible in C++? Can you offer any
alternatives? I don't really want people cutting and pasting my code
=o)

What was uncler with the response you got?

It *is* possible.

Yet, the exact steps needed are completely dependent on which development
system you use. Thus you need to ask in a newsgroup where they discuss
your development environment.
 
J

Jacques Labuschagne

redneon said:
Is it not possible to use external libraries in C++ then like you can
in Java or C#?

I've been away on placement for a year doing C# so my C++ skills have
kind of rusted a bit and the boundaries between the two are blurred in
my brain at the moment =o)

Basically, I'm writing a C++ app for my final year project at
University and what I'm wanting to do is produce a library (or
something similar) which people can #include and then get access to the
member functions etc. that I provide.

In C# it's possible to compile a .dll file and then just include that
to give you access. Is this not possible in C++? Can you offer any
alternatives? I don't really want people cutting and pasting my code
=o)

It is possible, but the mechanics are operating-system dependent. The
C++ standard doesn't say how it's done (or even if it's possible).
Making a DLL on windows is quite different to making a shared library on
Unix, which is again quite different to making one on the Deathstation 9000.
You need to ask this question in a group that deals with your operating
system. (Or google, even.)

Jacques.
 
R

redneon

Well at home I use g++ because, primarily, I use Linux. But at
University we have to use Microsoft Visual Studio 2003. This poses
quite a problem for me now. It looks like I'm going to have to use
Visual Studio at home.

Is it actually compiler specific or just OS specific? i.e. Would it be
possible for me to create a .dll using mingw in Windows and then use
that .dll in Visual Studio?
 
R

red floyd

redneon said:
Well at home I use g++ because, primarily, I use Linux. But at
University we have to use Microsoft Visual Studio 2003. This poses
quite a problem for me now. It looks like I'm going to have to use
Visual Studio at home.

Is it actually compiler specific or just OS specific? i.e. Would it be
possible for me to create a .dll using mingw in Windows and then use
that .dll in Visual Studio?

For g++, try gnu.g++.help
For VC, try microsoft.public.vc.language, or
microsoft.public.vstudio.general

And yes, it is compiler specific, for DLLs. Though you could use a .DEF
file to specify export names. The problem is that each compiler uses a
different name mangling scheme and/or ABI.

For example, I don't believe you can use g++ 2.95 shared libraries with
g++ 3.x code (Disclaimer: this is my experience, I could be wrong).
 
J

Javi

I know a HOWTO titled "Program-Library-HOWTO" where you can find
general information about libraries in linux.

I think you can build up your own library creating the object code
from your routines and adding them with the "ar" command creating also
a symbol index (see the ar man page). This way you can create a static
library but I don't know how reliable will it be in other systems or
even if It will work (I think It won't).
 

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
474,432
Messages
2,571,680
Members
48,796
Latest member
Greg L.

Latest Threads

Top