|
Boost-Build : |
Subject: Re: [Boost-build] Problem with resource files on Ubuntu
From: Jürgen Hunold (juergen.hunold_at_[hidden])
Date: 2010-09-07 10:26:07
Hi Ian,
On Tuesday, 7. September 2010 14:13:35 Ian Emmons wrote:
> The 64-bit
> build works fine, but cross-compiling for 32-bits fails on the resource
> file, Version.res.
Yes, because the resource compiler is not specified.
> I've tried digging into the Boost.Build sources to find the problem, but
> unfortunately I am not expert enough to decode exactly what's going
> on. It appears that on non-Windows platforms, a .res target causes an
> invocation of the assembler to create an empty .o, thus effectively making
> the .res file into a no-op. However, when cross-compiling the appropriate
> options (in this case "--32" or "--64") are not added to the assembler's
> command line, and so it compiles a native .o that then fails to link with
> the .o's that came from the C++ compiler.
Symptoms of a missing resource compiler.
> I'm not sure why Boost.Build doesn't just invoke the C++ compiler on an
> empty .cpp file to accomplish the same thing. That would ensure
> compatibility of the .o's without any extra work to get the command line
> options right.
That would be an option, yes.
> Any ideas on how I can fix (or work around) this issue?
I configure gcc like this
using gcc :
: # compile-command
i386-mingw32-g++
: #options
<rc>i386-mingw32-windres
<archiver>i386-mingw32-ar
;
you just have to add <rc> and maybe <archiver> for static linking.
Yours,
Jürgen
-- * Dipl.-Math. Jürgen Hunold ! Ingenieurgesellschaft für * voice: ++49 511 262926 57 ! Verkehrs- und Eisenbahnwesen mbH * fax : ++49 511 262926 99 ! Lister Straße 15 * juergen.hunold_at_[hidden] ! www.ivembh.de * * Geschäftsführer: ! Sitz des Unternehmens: Hannover * Prof. Dr.-Ing. Thomas Siefer ! Amtsgericht Hannover, HRB 56965 * PD Dr.-Ing. Alfons Radtke !
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