How to port windows dlls to linux

Hi all,

I have an application which will run in both windows as well as Linux.
I ported it long back and it is working well.

Now we need to extend the functionality ,so i have written .dll's for
Windows.These dll's have certain dependancies as well.And these are
sucessful in windows.

These dll's were built on Microsoft Visual Studio 2003.

Now I need to port them to Linux Operating System,so that i can extend the
current functionality just like dll's which i made for windows.

->Can any one how to do this porting?

Do i need to write '.so' files in linux from scratch?

It depends if you have written them in a portable manner.

It is far better to maintain one set of code that compiles in multiple environments than maintain different sets of code that may end up with differing behaviour.

What language have you written them in? What utilities/libraries do they use? Are they multithreaded?