This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
Re: Build libraries with gcc
- To: Patrick Reuter <preuter at uni-hohenheim dot de>
- Subject: Re: Build libraries with gcc
- From: "Charles S. Wilson" <cwilson at ece dot gatech dot edu>
- Date: Mon, 12 Feb 2001 11:23:55 -0500
- CC: cygwin at sources dot redhat dot com
- References: <3A880D73.341264A5@uni-hohenheim.de>
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