This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Build libraries with gcc


g++ -shared doesn't do what you think.  It doesn't build unix-style
shared libraries.  It builds windows DLL's, which *MUST* end in .dll if
you want the windows loader to load them into memory for your linked
app.

If you want a static lib, leave out the -shared.

If you want a DLL, you probably need to do a mailing list search on
"building a DLL"; it is likely that you will need to modify the source
code (hint: __declspec(dllexport) and __declspec(dllimport)
decorations).  Take a look at the source code and Makefiles in the
ncurses-5.2-4-src.tar.gz packge (especially in the c++/ directory).

--Chuck

Patrick Reuter wrote:
> 
> Hello,
> 
> I have a question building libraries using gcc under cygwin.
> 
> When compiling in Linux/Unix, I have no error message. When compiling
> under Windows, I get the following error message with any of my
> libraries:
> 
> g++ -shared -pg -o libGIF.so main.o readGIF.o writeGif.o
> 
> Cannot export _bss_end__: symbol not defined
> Cannot export _bss_start__: symbol not defined
> Cannot export _data_end__: symbol not defined
> Cannot export _data_start__: symbol not defined
> Cannot export _monstartup: symbol not defined
> main.o(.text+0x31):main.c: undefined reference to `_monstartup'
> collect2: ld returned 1 exit status
> 
> Tank you for any help!!
> 
> Patrick
> 
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]