Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-01-17 10:24:24


Hi Jürgen, Hi Cédric,

> On Monday 17 January 2005 13:24, TEMPLIE Cédric wrote:
> > > By the way, which Qt and which msvc-Version ? And if you use
> > > STLport, which version ?
> >
> > I use qt 3.3.3, msvc 7.1, and stlport 4.6.2.
> > I just put in my user-config.jam the basic using setup.
> >
> > using msvc ;
> > using stlport : : "P:/include/stlport" "P:/lib/windows" ;
> > using qt ;
>
> Ok, so you should _only_ get an extra .lib when actually _using_
> STLport.
> That means bjam stdlib=stlport should add an extra .lib file whereas
> bjam stdlib=native should not.
> I think this is a bug / feature of STLport. I'm no Win32 expert
> (developing on Linux) but I think this is because STLport exports
> symbols which __declspec export () when used (in combination with Qt ?)
> msvc-7.1 Dinkumware doesn't do this.
> We've switched from STLport to Dinkumware for release on Win32 so this
> behaviour doesn't bother me anymore.
> It is no bjam bug, the same happens when using Qt's qmake generated
> Makefiles.
> So I think this is getting off topic for this list. But could be
> interesting for the FAQ.

Hmm... interesting. But before adding it to FAQ I need to make sure I
understand everything. This brings us back to the original question:

When I build an exe with QT a lib file is also generated, why ?

I did not reply to it for a long time and there were two reasons:
1. I was on vacation.
2. The question itself was not sufficiently detailed. I'm still not sure
what .lib file is generated. Does it have the same name as the executable
you're building, or not? Is it silently created by the linker, or Boost.Build
tells the linker to do so. Finally, there's no way one can tell you're using
STLport. It's just luck that Jurgen had this problem, otherwise nobody would
have a clue.

That's why it's important to provide enough information in the bug report.
1. The minimal project which reproduces the problem (including
user-config.jam)
2. What you did.
3. What your got (relevant command lines, created files).
4. What you expected.

For example, had you mentioned STLport, it would narrow the problem now.

Now the final question: am I right that the .lib is created with the same name
as exe, in the same location and bjam command line does not mention that lib?

As an experiment, is there any way you can list the symbols in the
created .lib?

- Volodya

 


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