Boost logo

Boost-Build :

From: Andrej van der Zee (mavdzee_at_[hidden])
Date: 2008-06-06 07:34:34


Hi me again,

So it seems that when I build my libraries the .lib
import libraries are not created somehow, but the
corresponding .dll files are. When I link the
executable it looks for the import library and cannot
find it obviously. Therefor I have some new (obvious)
questions:

* Why is speedo_handlers.lib not build?
* Is it possible to link to the speedo_hanedlers.dll
directly instead of speedo_handlers.lib? Or is this
silly?

Thanks for your help again, very much appreciated.

Cheers,
Andrej

--- Jurko Gospodnetić <jurko.gospodnetic_at_[hidden]>
wrote:

> Hi Andrej.
>
> > It is the first time I compile on Windows, so I am
> > sorry about the dum question, but what is the
> > difference between .dll and .lib? Is the latter
> the
> > static lib or .a in Linux?
>
> On Windows .lib extension typically identifies
> static libraries which
> may then come two flavors. One are your typical
> static libraries (which
> Boost identifies by adding an additional 'lib'
> prefix in front of their
> name) containing full packaged functionality, and
> the other are import
> libraries for .dlls (which Boost names exactly like
> their correspoding
> .dll by with the .lib extension) which when linked
> to your executable
> cause it to link dynamically to the corresponding
> .dll at startup.
>
> Typically the import library will be much smalled
> then the
> corresponding actual standalone static library.
>
> So for example:
>
> DLL : boost_date_time-vc71-mt-1_35.dll
> Import lib: boost_date_time-vc71-mt-1_35.lib
> Static lib: libboost_date_time-vc71-mt-1_35.lib
>
>
> > msvc.link.dll
> >
>
..\..\server\handlers\bin\msvc-9.0\release\threading-multi\speedo_handlers.dll
> > msvc.link
> >
> bin\msvc-9.0\release\threading-multi\speedosrvd.exe
> > LINK : fatal error LNK1181: cannot open input file
> >
>
'..\..\server\handlers\bin\msvc-9.0\release\threading-multi\speedo_handlers.lib'
> >
> > call "F:\Program Files\Microsoft Visual
> Studio
> > 9.0\VC\vcvarsall.bat" x86 >nul
> > link /NOLOGO /INCREMENTAL:NO /subsystem:console
> >
>
/out:"bin\msvc-9.0\release\threading-multi\speedosrvd.exe"
> > /LIBPATH:"\opt\lib"
> >
>
@"bin\msvc-9.0\release\threading-multi\speedosrvd.exe.rsp"
> > if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
> > if exist
> >
>
"bin\msvc-9.0\release\threading-multi\speedosrvd.exe.manifest"
> > (
> > mt -nologo -manifest
> >
>
"bin\msvc-9.0\release\threading-multi\speedosrvd.exe.manifest"
> >
>
"-outputresource:bin\msvc-9.0\release\threading-multi\speedosrvd.exe;1"
> > )
>
> Ok, here it is attempting to link statically to
> the dll's import
> library (which is ok, since you presumably just
> listed the
> speedo_handlers dll as a source for the speedosrvd
> target) but can not
> seem to find it. Wierd...
>
> Could you post the following:
>
> - the exact Jamfile used
> - result of building with the -d2 option
> - listing of all the files found in your
>
..\..\server\handlers\bin\msvc-9.0\release\threading-multi
> folder after
> a clean build
>
> Best regards,
> Jurko Gospodnetić
>
> _______________________________________________
> Unsubscribe & other changes:
>
http://lists.boost.org/mailman/listinfo.cgi/boost-build
>

      __________________________________________________________
Sent from Yahoo! Mail.
A Smarter Email http://uk.docs.yahoo.com/nowyoucan.html


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk