|
Boost-Build : |
Subject: Re: [Boost-build] another simple boost build failure
From: Ronny Herzog (herzog_at_[hidden])
Date: 2012-10-24 04:51:18
Dear all,
sorry for bothering you again, but the problem did not disappear. With
the changes from Juergen it worked yesterday. But today it does not
anymore (maybe I was too tired yesterday...).
You find my Jamroot[1] and the output of "bjam -d+2"[2] below. The
strange thing is that the file
"/C:\boost_1_50_0\bin.v2\libs\filesystem\build\msvc-9.0\debug\threading-multi\boost_filesystem-vc90-mt-gd-1_50.lib/"
exists. However, the linker reports that it cannot open it.
I am greatful for any help, since I am new to boost.
Thank you,
Ronny
[1]:
using msvc ;
use-project boost
: c:/boost_1_50_0 ;
project spectraImport
: requirements
<library>/boost/filesystem//boost_filesystem
<library>/boost/regex//boost_regex
# disable autolinking
<define>BOOST_ALL_NO_LIB
: build-dir ../boost-build
;
exe spectraImport
: [ glob *.cpp ]
;
install ../boost-build : spectraImport ;
[2]:
C:\Users\Duke\My_Projects\boost_python\spectraImport\spectraimport>bjam -d+2
Performing configuration checks
- has_icu builds : no
file ..\boost-build\msvc-9.0\debug\threading-multi\spectraImport.exe.rsp
"..\boost-build\msvc-9.0\debug\threading-multi\Align.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\averaging.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\averagingmsms.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\Import.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\ReadRaw.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\SIException.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\spectraimport.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\SpectraImportTools.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\stdafx.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\Tolerance.obj"
"C:\boost_1_50_0\bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_50.lib"
"C:\boost_1_50_0\bin.v2\libs\system\build\msvc-9.0\debug\threading-multi\boost_system-vc90-mt-gd-1_50.lib"
"C:\boost_1_50_0\bin.v2\libs\filesystem\build\msvc-9.0\debug\threading-multi\boost_filesystem-vc90-mt-gd-1_50.lib"
msvc.link ..\boost-build\msvc-9.0\debug\threading-multi\spectraImport.exe
call "C:\Program Files\Microsoft Visual Studio
9.0\VC\vcvarsall.bat" x86
>nul
link /NOLOGO /INCREMENTAL:NO /DEBUG /MACHINE:X86 /subsystem:console
/out:"..\boo
st-build\msvc-9.0\debug\threading-multi\spectraImport.exe"
@"..\boost-build\ms
vc-9.0\debug\threading-multi\spectraImport.exe.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
LINK : fatal error LNK1104: cannot open file
'libboost_regex-vc90-mt-gd-1_50.lib
'
...skipped <p..\boost-build>spectraImport.exe for lack of
<p..\boost-build\msvc-
9.0\debug\threading-multi>spectraImport.exe...
...skipped <p..\boost-build>spectraImport.pdb for lack of
<p..\boost-build\msvc-
9.0\debug\threading-multi>spectraImport.pdb...
...failed updating 2 targets...
Am 10/23/2012 4:19 PM, schrieb Jürgen Hunold:
> Hi Ronny,
>
> On Tuesday, 23. October 2012 11:10:46 Ronny Herzog wrote:
>> Dear all,
>>
>> I successfully imported the boost_filesystem, but no I am stuck with
>> boost_regex. The linker complains that it is not able to open
>> 'libboost_regex-vc90-mt-gd-1_50.lib' although it is there (in
>> c:\boost_1_50_0\stage\lib). Again, I am using Windows 7. Anyone has an
>> idea why? Because the boost::filesystem works.
> Well, I think autolinking is getting in the way because your Jamroot is
> slightly wrong and fails to pull in Boost.Regex.
>
>> link /NOLOGO /INCREMENTAL:NO /DEBUG /MACHINE:X86 /subsystem:console
>> /out:"..\boo
>> st-build\msvc-9.0\debug\threading-multi\spectraImport.exe"
>> @"..\boost-build\ms
>> vc-9.0\debug\threading-multi\spectraImport.exe.rsp"
> The interesting part is in the response file "...\spectraImport.exe.rsp". To
> get its contents use -d+2 or -n. And please attach the (zipped) output next
> time.
>
> But I guess the problem is here:
>
>> project spectraImport
>>
>> : requirements <library>/boost/filesystem//boost_filesystem
>> : requirements <library>/boost/regex//boost_regex
>> : build-dir ../boost-build
>>
>> ;
> You can only have one "requirements" block. Example below:
>
> project spectraImport
> : requirements
> <library>/boost/filesystem//boost_filesystem
> <library>/boost/regex//boost_regex
> # Disable autolinking
> <define>BOOST_ALL_NO_LIB
> : build-dir ../boost-build
> ;
>
> And the best is to completely disable autolinking when using Boost.Build. It
> only gets in the way.
>
> Hope this helps,
>
> Yours,
>
> Jürgen
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