Hello, I am having a LINK error when I try to include stuff for serialization: * #include <boost/archive/text_oarchive.hpp> #include <boost/archive/text_iarchive.hpp> 1>LINK : fatal error LNK1104: cannot open file 'libboost_serialization-vc100-mt-gd-1_46_1.lib' *So I am trying to build this, with the libs/serialization/vc7ide/BoostSerializationLibrary.sln using Microsoft Visual Studio 2010 Express on Windows 7 (64 bit). Building the solution finished with: *========== Build: 2 succeeded, 88 failed, 0 up-to-date, 0 skipped ==========* With a lot of: * 90>LINK : fatal error LNK1104: cannot open file 'boost_filesystem-vc100-mt-gd-1_46_1.lib'* So I tried next the libs/filesystem/v3/test/msvc10/filesystem-v3.sln. Building the solution finished with 3 failed, but it was because it didn't find some of the tutorial projects, so leaving those out from the build made: *========== Build: 10 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========* But this doesn't seem to give me *boost_filesystem-vc100-mt-gd-1_46_1.lib *anywhere, so all the problems above remain. What am I doing wrong?
Zoltán Lengyel wrote: This would seem to be related to autolinking functionality. There is a compile time switch which turns autolinking on/off. It seems that the library was set at one setting and the applications are built with another setting. I don't remember the details, but this is the place to start. Robert Ramey
On Thu, Jul 14, 2011 at 09:22:40AM +0200, Zoltán Lengyel wrote:
Hello, I am having a LINK error when I try to include stuff for serialization:
'libboost_serialization-vc100-mt-gd-1_46_1.lib'
libs/serialization/vc7ide/BoostSerializationLibrary.sln using Microsoft
What am I doing wrong?
The autolink functionality expects filenames as produced by the Boost.Build build system, and constructs the filenames based on the VC++ version and some of the essential build settings used for your project. Normally you should not need to disable the autolinking functionality, as libraries are named distinctly to avoid accidentally linking in libraries with incompatible build flags. The solution and project files you've found are not part of proper Boost build procedures, instead being some kind of personal convenience artifacts by (assumedly) the s11n maintainer. There might be some mention of them in the documentation, but considering that they target a _very_ old compiler toolchain (VC++ 2003), I wouldn't have high hopes for them being actively supported. Taking a quick look at the projects, the output filename is indeed being hardcoded to contain vc71. You might be able to fudge the TargetName of the projects in the solution, or just build Boost with Boost.Build as per the build procedure shown in the Getting Started guide: http://www.boost.org/doc/libs/1_47_0/more/getting_started/windows.html -- Lars Viklund | zao@acc.umu.se
participants (3)
-
Lars Viklund
-
Robert Ramey
-
Zoltán Lengyel