By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,411 Members | 1,022 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,411 IT Pros & Developers. It's quick & easy.

Making a library

P: n/a
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.

Oct 11 '05 #1
Share this Question
Share on Google+
7 Replies


P: n/a
redneon wrote:
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.

Oct 11 '05 #2

P: n/a
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)

Oct 11 '05 #3

P: n/a
redneon wrote:

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.
--
Karl Heinz Buchegger
kb******@gascad.at
Oct 11 '05 #4

P: n/a
redneon wrote:
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.
Oct 11 '05 #5

P: n/a
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?

Oct 11 '05 #6

P: n/a
redneon wrote:
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).
Oct 11 '05 #7

P: n/a
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).

Oct 11 '05 #8

This discussion thread is closed

Replies have been disabled for this discussion.