[Xcb] xcb-util - image library n win32

Vincent Torri vtorri at univ-evry.fr
Wed May 6 06:49:20 PDT 2009

On Mon, 4 May 2009, Jeetu Golani wrote:

> Hi guys,
> Thanks for replying back.
> I've made changes as suggested by Vincent. It's all quite a quickly put
> together hack for now but I get the warnings on static libraries as can be
> seen in the attached without-noundefined text file. I don't have any shared
> library .so files for the win32 xcb port I've generated, just the dll and
> the .a,.la files......neither do the xcb-util libraries generate .so
> files....do I need to add -shared somewhere so these are built first?

Why do you want a .so file ? the equivalent file type of a linux .so 
shared library is a .dll file

If you have it, then it's good. When you install the library, you should 

1) a .dll file in $prefix/bin
2) a .dll.a and a .a files in $prefix/lib


> The above is done without adding the -no-undefined directive. The
> with-undefined file which I'm attaching shows what happens if I add
> -no-undefined to libxcb_atom_la_LDFLAGS as an example here atom/Makefile.am.
> I get a bunch of  undefined references here. The same happens with image or
> any of the other libraries.
> Any clues?
> Thanks....n I don't know whether this list prefers file attachments or I
> should have pasted the text instead but if its the latter my bad..sorry :)
> Bye for now
> On Sun, May 3, 2009 at 1:57 PM, Vincent Torri <vtorri at univ-evry.fr> wrote:
>> On Sun, 3 May 2009, Jeetu Golani wrote:
>>> Hi,
>>>  When you build and install libxcb, it will create xcb.pc. Points
>>>> PKG_CONFIG_PATH there. For example I built libxcb with prefix
>>>> $HOME/w/x11 so it would configure xcb-util like this:
>>> I got past this step. I setup the XCB_CFLAGS and XCB_LIBS environment
>>> variables instead so that works.  I also had to setup environment
>>> variables
>>> for SHM and Render. Although I've set things up so as to link against my
>>> pthreadGC2 dll there is still one place (at least) which is still causing
>>> it
>>> to link against -lpthread which fails for me....tried making changes
>>> within
>>> Makefile.am but didn't work so as a quick hack setup a symlink between
>>> libpthread.a and my pthreadGC2.dll so I got through this step.
>>> In order to get a DLL I tried doing what I did for XCB i.e. in
>>> configure.ac I
>>> put in an AC_LIBTOOL_WIN32_DLL before AC_PROG_LIBTOOL. Also in Makefile.am
>>> I
>>> put in a libxcb_image_LDFLAGS=-no-undefined. (reciting by memory so hope I
>>> haven't made a mistake writing this but I think this seems what I did)
>>> Everything goes through now but under image/.libs all i can see is a
>>> libxcb-image.a and a .la file....no dll...so I'm guessing something more
>>> needs to be done....any ideas?
>> to make libtool aware of building a dll:
>> 1) put AC_LIBTOOL_WIN32_DLL before AC_PROG_LIBTOOL (you already did that)
>> 2) add -no-undefined in the *_LDFLAGS cariable in the Makefile.am file
>> 3) have all the dependency dll needed to build the lib.
>> don't forget to run 'make clean' to force the link again before running
>> make.
>> check if during the link, there is no warning message that tells you that
>> libtool can create only the static lib (for some reason). If yes, then the
>> dll is not built. Then, paste the message.
>> Vincent
> -- 
> Ce message a été vérifié par MailScanner
> pour des virus ou des polluriels et rien de
> suspect n'a été trouvé.
> Message délivré par le serveur de messagerie de l'Université d'Evry.

More information about the Xcb mailing list