From: <ohe...@ya...> - 2002-08-20 13:09:52
|
Hello, I've writing this message cause i've got a problem to create a dll on windows. In Fact, i've created a dynamic library on linux by using this compilation command : g++ -o lib<name_of_library>.so -shared <name_of_cpp_program>.cpp The result is the creation of a dynamic library. But i don't know if the compilation command on windows is : g++ -o <name_of_library>.dll -shared <name_of_cpp_program>.cpp So I just want to know what is the different way to create a dll on windows using Mingw. Thanks for answers. Have a good day. ___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com |
From: Earnie B. <ear...@ya...> - 2002-08-20 13:26:05
|
http://www.mingw.org/docs.shtml Earnie. |
From: <ohe...@ya...> - 2002-08-21 13:19:48
|
--- Earnie Boyd <ear...@ya...> a écrit : > http://www.mingw.org/docs.shtml > > Earnie. > Thanks but that's not help me cause it's to creating a dll for jni(java native interface). So i can't touch to the code .h generated by the javah command. ___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com |
From: Earnie B. <ear...@ya...> - 2002-08-21 13:36:45
|
pierre dupont wrote: > --- Earnie Boyd <ear...@ya...> a écrit : > > http://www.mingw.org/docs.shtml > > > > Earnie. > > > > Thanks but that's not help me cause it's to creating > a dll for jni(java native interface). So i can't touch > to the code .h generated by the javah command. > <QUOTE BY="Pierre DuPont"> But i don't know if the compilation command on windows is : g++ -o <name_of_library>.dll -shared <name_of_cpp_program>.cpp So I just want to know what is the different way to create a dll on windows using Mingw. </QUOTE> http://www.mingw.org/docs.shtml gives examples within the "Compiling and Building with MinGW" section. Earnie. |
From: Martin K. <mar...@in...> - 2002-08-22 05:34:54
|
Hi Earnie, On Wed, Aug 21, 2002 at 09:37:28AM -0400, Earnie Boyd wrote: > But i don't know if the compilation command on windows > is : > g++ -o <name_of_library>.dll -shared > <name_of_cpp_program>.cpp > > So I just want to know what is the different way to > create a dll on windows using Mingw. > </QUOTE> > > http://www.mingw.org/docs.shtml gives examples within the "Compiling and > Building with MinGW" section. > > Earnie. This seems to be a never ending FAQ. On Dec, 4.th 2001 i read a post from Wu Yongwei <ad...@ne...> here, which said > gcc -shared -o testdll.dll testdll.c \ > -Wl,--output-def,testdll.def,--out-implib,libtestdll.a > > to produce the DLL and DEF files. MSVC cannot use the MinGW library, but > since you have already the DEF file you may easily produce one by the > Microsoft LIB tool: > > lib /machine:i386 /def:testdll.def to build MSVC compatible libraries. So, is 'gcc -shared *' a correct way of creating DLLs or is is not? Do i really have to fuss around with dllwrap as said in http://www.mingw.org/docs.shtml? Another related question from me is: what about -fPIC which is needed on Unix to build shared libs? Is it neccessary on Windows and if not, why? Could anybody please give some words of wisdom here? Thanks Martin. -- The early bird catches the worm. If you want something else for breakfast, get up later. |
From: Martin K. <mar...@in...> - 2002-08-21 05:33:59
|
Hi Pierre, On Tue, Aug 20, 2002 at 03:09:52PM +0200, pierre dupont wrote: > Hello, > > I've writing this message cause i've got a problem to > create a dll on windows. > > In Fact, i've created a dynamic library on linux by > using this compilation command : > g++ -o lib<name_of_library>.so -shared > <name_of_cpp_program>.cpp Which is wrong. Use g++ -fPIC -o lib<name_of_library>.so -shared <name_of_cpp_program>.cpp instead! Shared libraries must be compiled with Position Independent Code. IIRC, -fPIC is a no op on Windows, because all code there is somehow position independent. Earnie Boyd already answered your second question. Bye, Martin. -- The early bird catches the worm. If you want something else for breakfast, get up later. |