Subject: [Boost-bugs] [Boost C++ Libraries] #4901: boost_serialization link error under msvc 9.0
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-11-28 14:46:54
#4901: boost_serialization link error under msvc 9.0
------------------------------+---------------------------------------------
Reporter: anonymous | Owner:
Type: Bugs | Status: new
Milestone: To Be Determined | Component: Building Boost
Version: Boost 1.45.0 | Severity: Problem
Keywords: |
------------------------------+---------------------------------------------
I`m trying to compile small program using boost_serialization under msvc.
I have three simple cases:
{{{
1) FAILED!
Jamroot:
using msvc ;
use-project boost : "C:\\Boost\\boost_1_45_0" ;
exe serial : serial.cpp /boost/serialization//boost_serialization ;
Serial.exe.rsp:
"bin\msvc-9.0\debug\threading-multi\serial.obj"
"C:\Boost\boost_1_45_0\bin.v2\libs\serialization\build\msvc-9.0\debug
\threading-multi\boost_serialization-vc90-mt-gd-1_45.lib"
All full paths are exist!
msvc.link.dll
C:\Boost\boost_1_45_0\bin.v2\libs\serialization\build\msvc-9.0\debug
\threading-multi\boost_serialization-vc90-mt-gd-1_45.dll
Creating library
C:\Boost\boost_1_45_0\bin.v2\libs\serialization\build\msvc-9.0\debug
\threading-multi\boost_serialization-vc90-mt-gd-1_45.lib and objec
t C:\Boost\boost_1_45_0\bin.v2\libs\serialization\build\msvc-9.0\debug
\threading-multi\boost_serialization-vc90-mt-gd-1_45.exp
msvc.manifest.dll
C:\Boost\boost_1_45_0\bin.v2\libs\serialization\build\msvc-9.0\debug
\threading-multi\boost_serialization-vc90-mt-gd-1_45.dll
msvc.link bin\msvc-9.0\debug\threading-multi\serial.exe
LINK : fatal error LNK1104: cannot open file 'libboost_serialization-vc90
-mt-gd-1_45.lib'
call "c:\Program Files\Microsoft Visual Studio
9.0\VC\vcvarsall.bat" x86 >nul
link /NOLOGO /INCREMENTAL:NO /DEBUG /MACHINE:X86 /subsystem:console
/out:"bin\msvc-9.0\debug\threading-multi\serial.exe"
@"bin\msvc-9.0\debug\threading-
multi\serial.exe.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
...failed msvc.link bin\msvc-9.0\debug\threading-multi\serial.exe
bin\msvc-9.0\debug\threading-multi\serial.pdb...
...failed updating 2 targets...
...updated 34 targets...
2) FAILED!
Jamroot:
using msvc ;
use-project boost : "C:\\Boost\\boost_1_45_0" ;
exe serial : serial.cpp /boost/serialization//boost_serialization :
<link>static <runtime-link>static ;
All paths from serial.exe.rsp are exist too.
...
compile-c-c++
C:\Boost\boost_1_45_0\bin.v2\libs\serialization\build\msvc-9.0\debug\link-
static\runtime-link-static\xml_archive_exception.obj
xml_archive_exception.cpp
compile-c-c++
C:\Boost\boost_1_45_0\bin.v2\libs\serialization\build\msvc-9.0\debug\link-
static\runtime-link-static\shared_ptr_helper.obj
shared_ptr_helper.cpp
msvc.archive
C:\Boost\boost_1_45_0\bin.v2\libs\serialization\build\msvc-9.0\debug\link-
static\runtime-link-static\libboost_serialization-vc90-sgd-1_45.lib
stl_port.obj : warning LNK4221: no public symbols found; archive member
will be inaccessible
msvc.link bin\msvc-9.0\debug\link-static\runtime-link-static\serial.exe
LINK : fatal error LNK1104: cannot open file 'libboost_serialization-vc90
-mt-sgd-1_45.lib'
call "c:\Program Files\Microsoft Visual Studio
9.0\VC\vcvarsall.bat" x86 >nul
link /NOLOGO /INCREMENTAL:NO /DEBUG /MACHINE:X86 /subsystem:console
/out:"bin\msvc-9.0\debug\link-static\runtime-link-static\serial.exe"
@"bin\msvc-9.0\
debug\link-static\runtime-link-static\serial.exe.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
...failed msvc.link bin\msvc-9.0\debug\link-static\runtime-link-
static\serial.exe bin\msvc-9.0\debug\link-static\runtime-link-
static\serial.pdb...
...failed updating 2 targets...
...updated 32 targets...
3) WORKS!
using msvc ;
use-project boost : "C:\\Boost\\boost_1_45_0" ;
exe serial : serial.cpp /boost/serialization//boost_serialization
link<static> ;
}}}
So where is problem?
Is only one possible configuration for building serialization library
under msvc?
I can link with other libraries, boost_program_options for instance, but
not with boost_serialization.
{{{
using msvc ;
use-project boost : "C:\\Boost\\boost_1_45_0" ;
exe main : main.cpp /boost/program_options//boost_program_options ;
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4901> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:04 UTC