failed to compile boost.system with msvc-7.1

B

BruceWho

I downloaded boost1.35.0 and built it with following command:

bjam --toolset=msvc-7.1 --variant=release --threading=multi --
link=shared --with-system stage

and it failed to compile, error message is:


E:\software\development\boost_1_35_0\boost_1_35_0>bjam --
toolset=msvc-7.1 --variant=release --threading=multi --link=shared --
with-system stage
....found 72 targets...
....updating 6 targets...
compile-c-c++ bin.v2\libs\system\build\msvc-7.1\release\threading-multi
\error_code.obj
error_code.cpp
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(477) : error C2467: illegal declaration of anonymous 'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(495) : error C2467: illegal declaration of anonymous 'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(2117) : error C2146: syntax error : missing ';' before
identifier 'PVOID'

D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(2117) : error C2501: '_inline' : missing storage-class or
type specifiers

D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(2118) : error C2146: syntax error : missing ';' before
identifier 'PVOID'

D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(2118) : error C2501: '_inline' : missing storage-class or
type specifiers

D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(2118) : error C2086: 'int _inline' : redefinition
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK
\Include\WinNT.h(2117) : see declaration of '_inline'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(7345) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(7354) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(7870) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(8646) : error C2133: '_EVENTSFORLOGFILE::pEventLogRecords' :
unknown size

D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(8652) : error C2133: '_PACKEDEVENTINFO::ulOffsets' : unknown
size
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinBase.h(231) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinBase.h(525) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinGDI.h(1892) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinGDI.h(1898) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinGDI.h(1946) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinGDI.h(1952) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(88) : error C2146: syntax error : missing ';' before
identifier 'QUERYHA
NDLER'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(91) : error C2143: syntax error : missing ';' before '*'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(91) : error C2365: 'QUERYHANDLER' : redefinition; previous
definition wa
s a 'function'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK
\Include\WinReg.h(88) : see declaration of 'QUERYHANDLER'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(91) : error C2501: 'PQUERYHANDLER' : missing storage-class
or type speci
fiers
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(94) : error C2146: syntax error : missing ';' before
identifier 'pi_R0_1
val'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(94) : error C2501: 'provider_info::pQUERYHANDLER' : missing
storage-clas
s or type specifiers
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(94) : error C2501: 'provider_info::pi_R0_1val' : missing
storage-class o
r type specifiers
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(95) : error C2146: syntax error : missing ';' before
identifier 'pi_R0_a
llvals'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(95) : error C2501: 'provider_info::pQUERYHANDLER' : missing
storage-clas
s or type specifiers
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(95) : error C2501: 'provider_info::pi_R0_allvals' : missing
storage-clas
s or type specifiers
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(96) : error C2146: syntax error : missing ';' before
identifier 'pi_R3_1
val'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(96) : error C2501: 'provider_info::pQUERYHANDLER' : missing
storage-clas
s or type specifiers
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(96) : error C2501: 'provider_info::pi_R3_1val' : missing
storage-class o
r type specifiers
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(97) : error C2146: syntax error : missing ';' before
identifier 'pi_R3_a
llvals'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(97) : error C2501: 'provider_info::pQUERYHANDLER' : missing
storage-clas
s or type specifiers
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinReg.h(97) : error C2501: 'provider_info::pi_R3_allvals' : missing
storage-clas
s or type specifiers
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\MMSystem.h(1837) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\MMSystem.h(1841) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\MMSystem.h(1862) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\MMSystem.h(1866) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\RpcDce.h(1807) : warning C4224: nonstandard extension used : formal
parameter 'ex
ception' was previously defined as a type
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\ShellAPI.h(886) : error C2146: syntax error : missing ';' before
identifier 'Shel
lMessageBoxA'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\ShellAPI.h(886) : error C2377: '_cdecl' : redefinition; typedef
cannot be overloa
ded with any other symbol
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK
\Include\WinReg.h(88) : see declaration of '_cdecl'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\ShellAPI.h(892) : error C2146: syntax error : missing ';' before
identifier 'Shel
lMessageBoxW'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\ShellAPI.h(892) : error C2086: 'int _cdecl' : redefinition
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK
\Include\ShellAPI.h(886) : see declaration of '_cdecl'
d:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\RpcNdr.h(1017) : error C2133: '_MIDL_FORMAT_STRING::Format' : unknown
size
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WTypes.h(999) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WTypes.h(1026) : error C2467: illegal declaration of anonymous
'struct'
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WTypes.h(1039) : error C2467: illegal declaration of anonymous
'struct'
d:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\OAIdl.h(484) : error C2467: illegal declaration of anonymous 'struct'
d:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\OAIdl.h(486) : error C2467: illegal declaration of anonymous 'struct'
d:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\MsXml.h(595) : warning C4224: nonstandard extension used : formal
parameter 'DOMD
ocument' was previously defined as a type
d:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\MsXml.h(1213) : warning C4224: nonstandard extension used : formal
parameter 'DOM
Document' was previously defined as a type
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\PropIdl.h(371) : error C2467: illegal declaration of anonymous
'struct'

call "D:\program\Microsoft Visual Studio .NET 2003\VC7\bin
\vcvars32.bat" >nul
cl /Zm800 -nologo @"bin.v2\libs\system\build\msvc-7.1\release
\threading-multi\error_code.obj.rsp"

....failed compile-c-c++ bin.v2\libs\system\build\msvc-7.1\release
\threading-multi\error_code.obj...
....skipped <pbin.v2\libs\system\build\msvc-7.1\release\threading-
multi>boost_system-vc71-mt-1_35.dll for lack of <pbin.v2\libs\system
\build\msvc-7.1\r
elease\threading-multi>error_code.obj...
....skipped <pstage\lib>boost_system-vc71-mt-1_35.dll for lack of
<pbin.v2\libs\system\build\msvc-7.1\release\threading-
multi>boost_system-vc71-mt-1_35
..dll...
....skipped <pbin.v2\libs\system\build\msvc-7.1\release\threading-
multi>boost_system-vc71-mt-1_35.lib for lack of <pbin.v2\libs\system
\build\msvc-7.1\r
elease\threading-multi>error_code.obj...
....skipped <pstage\lib>boost_system-vc71-mt-1_35.lib for lack of
<pbin.v2\libs\system\build\msvc-7.1\release\threading-
multi>boost_system-vc71-mt-1_35
..lib...
....skipped <pstage\lib>boost_system-vc71-mt.lib for lack of <pstage
\lib>boost_system-vc71-mt-1_35.lib...
....failed updating 1 target...
....skipped 5 targets...


I added the system\src\error_code.cpp to an empty project and can
compiled it with success. So I guess there must be something wrong
with the default compile options, but I donnot know how to fix it.
Could anybody help me out? Any help would be appreciated!
 
J

Jim Langston

BruceWho said:
I downloaded boost1.35.0 and built it with following command:

bjam --toolset=msvc-7.1 --variant=release --threading=multi --
link=shared --with-system stage

and it failed to compile, error message is:


E:\software\development\boost_1_35_0\boost_1_35_0>bjam --
toolset=msvc-7.1 --variant=release --threading=multi --link=shared --
with-system stage
...found 72 targets...
...updating 6 targets...
compile-c-c++
bin.v2\libs\system\build\msvc-7.1\release\threading-multi
\error_code.obj
error_code.cpp
D:\program\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\Include
\WinNT.h(477) : error C2467: illegal declaration of anonymous 'struct'

[SNIP]

That's a MSVC problem, one of the project settings, I haven't figured it out
yet. Same source code with different project settings will compile without
any warnings. Since it's microsoft speicfic try
microsoft.public.vc.language

hth
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,756
Messages
2,569,535
Members
45,008
Latest member
obedient dusk

Latest Threads

Top