Boost C++ Libraries: Ticket #4901: boost_serialization link error under msvc 9.0 & 8.0 https://svn.boost.org/trac10/ticket/4901 <p> I`m trying to compile small program using boost_serialization under msvc. I have three simple cases: </p> <pre class="wiki">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 &gt;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 : &lt;link&gt;static &lt;runtime-link&gt;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 &gt;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&lt;static&gt; ; </pre><p> So where is problem? Is only one possible configuration for building serialization library under msvc? </p> <p> I can link with other libraries, boost_program_options for instance, but not with boost_serialization. </p> <pre class="wiki">using msvc ; use-project boost : "C:\\Boost\\boost_1_45_0" ; exe main : main.cpp /boost/program_options//boost_program_options ; </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4901 Trac 1.4.3 anonymous Mon, 29 Nov 2010 07:18:46 GMT summary changed https://svn.boost.org/trac10/ticket/4901#comment:1 https://svn.boost.org/trac10/ticket/4901#comment:1 <ul> <li><strong>summary</strong> <span class="trac-field-old">boost_serialization link error under msvc 9.0</span> → <span class="trac-field-new">boost_serialization link error under msvc 9.0 &amp; 8.0</span> </li> </ul> <p> Same problems with msvc 8.0 LINK : fatal error LNK1104: cannot open file 'libboost_serialization-vc80-mt-gd-1_45.lib' </p> Ticket Steven Watanabe Mon, 29 Nov 2010 17:55:52 GMT <link>https://svn.boost.org/trac10/ticket/4901#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4901#comment:2</guid> <description> <p> You need to add &lt;define&gt;BOOST_ALL_NO_LIB to disable auto-linking. I think other libraries probably already disable auto-linking in their usage requirements. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Mon, 29 Nov 2010 20:22:27 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4901#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4901#comment:3</guid> <description> <p> Thank you. It works! I`m gonna readdress this issue back to serialization library. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Mon, 29 Nov 2010 20:26:19 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4901#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4901#comment:4</guid> <description> <p> Corresponding issue <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4893" title="#4893: Bugs: boost_serialization link error under msvc 9.0 (closed: invalid)">#4893</a> </p> </description> <category>Ticket</category> </item> <item> <author>Vicente Botet <vicente.botet@…></author> <pubDate>Tue, 07 Dec 2010 18:09:37 GMT</pubDate> <title>component changed; owner set https://svn.boost.org/trac10/ticket/4901#comment:5 https://svn.boost.org/trac10/ticket/4901#comment:5 <ul> <li><strong>owner</strong> set to <span class="trac-author">Robert Ramey</span> </li> <li><strong>component</strong> <span class="trac-field-old">Building Boost</span> → <span class="trac-field-new">serialization</span> </li> </ul> <p> Moved to Serialization to add &lt;define&gt;BOOST_ALL_NO_LIB in the usage requirements. </p> Ticket Robert Ramey Tue, 14 Dec 2010 17:51:59 GMT <link>https://svn.boost.org/trac10/ticket/4901#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4901#comment:6</guid> <description> <p> Sorry, I don't get what I'm expected to do here. </p> <p> Robert Ramey </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Robert Ramey</dc:creator> <pubDate>Sat, 18 Dec 2010 19:29:47 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/4901#comment:7 https://svn.boost.org/trac10/ticket/4901#comment:7 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">wontfix</span> </li> </ul> Ticket