[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#14055: windows link problem with ".lib" files
From: |
Peter Rosin |
Subject: |
bug#14055: windows link problem with ".lib" files |
Date: |
Tue, 26 Mar 2013 15:05:28 +0100 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0 |
On 2013-03-26 10:38, Andreas Otto wrote:
> Hi,
>
> from time to time I use my automake/libtool project to build libraries on
> windows ...
> this create al least problems ...
>
> my actual problem is, I got a tcl distrubution from activestate providing a
> libraray:
>
> C:/Tcl/lib/tcl8.6.lib
>
> and using the libtool command:
>
> /bin/sh ../../libtool --tag=CC --mode=link /usr/bin/ccache
> x86_64-w64-mingw32-gcc -std=gnu99 -shared
> -I/home/dev1usr/Project/NHI1/theLink/tclmsgque/../libmsgque -IC:/Tcl/include
> -DMQ_IGNORE_EXTERN -g -Wall -Wcast-align -g -O2 -shared -module
> -avoid-version -no-undefined*-LC:/Tcl/lib -ltcl86* -o tclmsgque.la -rpath
> /usr/local/lib/NHI1 tclmsgque_la-MqS_tcl.lo tclmsgque_la-misc_tcl.lo
> tclmsgque_la-msgque_tcl.lo tclmsgque_la-read_tcl.lo tclmsgque_la-send_tcl.lo
> tclmsgque_la-config_tcl.lo tclmsgque_la-service_tcl.lo
> tclmsgque_la-slave_tcl.lo tclmsgque_la-MqBufferS_tcl.lo
> tclmsgque_la-error_tcl.lo tclmsgque_la-link_tcl.lo
> tclmsgque_la-MqFactoryS_tcl.lo tclmsgque_la-MqDumpS_tcl.lo
> ../libmsgque/libtmp.la
>
> with "*-LC:/Tcl/lib -ltcl86*" I got the mystic libtool error message that the
> library is NOT found ...
It would help if you quoted the error message.
> using the "--debug" option give a hint ....
It would help if you shared the hint.
> libtool does not serach for the "right" name ...
>
> If I copy the file tcl86.lib to libtcl86.a in the same directory ....
>
> => everything works fine.
>
> and now my question:
>
> why does "libtool" on "windows" does NOT search for "*.lib" files
I'll try to answer when you have provided the above details.
> => enduser would be happy to save debugging hours ;-)
>
> Hint, I use the mingw cross compiler but this is NOT the problem.
Since you are using a cross compiler (presumably still from Cygwin),
you should not feed it Windows paths, you should feed it POSIX
paths. I.e. something like "-L/cygdrive/c/Tcl/lib -ltcl86". In addition
to that, you (or the package) have specified the library before any
object files, which is not the right thing to do. Try this:
/bin/sh ../../libtool --tag=CC --mode=link /usr/bin/ccache
x86_64-w64-mingw32-gcc -std=gnu99 -shared
-I/home/dev1usr/Project/NHI1/theLink/tclmsgque/../libmsgque
-I/cygdrive/c/Tcl/include -DMQ_IGNORE_EXTERN -g -Wall -Wcast-align -g -O2
-shared -module -avoid-version -no-undefined -L/cygdrive/c/Tcl/lib -o
tclmsgque.la -rpath /usr/local/lib/NHI1 tclmsgque_la-MqS_tcl.lo
tclmsgque_la-misc_tcl.lo tclmsgque_la-msgque_tcl.lo tclmsgque_la-read_tcl.lo
tclmsgque_la-send_tcl.lo tclmsgque_la-config_tcl.lo
tclmsgque_la-service_tcl.lo tclmsgque_la-slave_tcl.lo
tclmsgque_la-MqBufferS_tcl.lo tclmsgque_la-error_tcl.lo
tclmsgque_la-link_tcl.lo tclmsgque_la-MqFactoryS_tcl.lo
tclmsgque_la-MqDumpS_tcl.lo ../libmsgque/libtmp.la -ltcl86
Cheers,
Peter