Need help with using Boost::Serialization on AmD64, Windows, MSVC 8.0

I am building boost using the following command; this is done from the command window of MSVC 2005. \boost-jam-3.1.16-1-ntx86\bjam --build-dir=c:\boost-build --toolset=msvc --build-type=complete --address-model=64 The intention is to build for amd64 target. Is this the right command? Should toolset be specified as "msvc-8.0_64"? I am trying to use serialization library but keep getting linker errors like the following: 1>d:\source\ux_a_2\private\frontend\fex\search\searchconfigcontainer.obj : error LNK2019: unresolved external symbol "public: __cdecl boost::archive::basic_binary_oprimitive<class boost::archive::binary_oarchive,char,struct std::char_traits<char> >::~basic_binary_oprimitive<class boost::archive::binary_oarchive,char,struct std::char_traits<char> >(void)" (??1?$basic_binary_oprimitive@Vbinary_oarchive@archive@boost@@DU?$char_traits@D@std@@@archive@boost@@QEAA@XZ) referenced in function "public: __cdecl boost::archive::binary_oarchive_impl<class boost::archive::binary_oarchive,char,struct std::char_traits<char> >::~binary_oarchive_impl<class boost::archive::binary_oarchive,char,struct std::char_traits<char> >(void)" (??1?$binary_oarchive_impl@Vbinary_oarchive@archive@boost@@DU?$char_traits@D@std@@@archive@boost@@QEAA@XZ) There seems to be some internet chatter related to this at http://www.nabble.com/using-boost-in-x64-app-td19804910.html. However, I have been unable to make this thing work. If I create a standalone project in VC and use serialization code then it works all fine; however, the standalone code was written in 32bit mode. I will appreciate any clues anyone can provide. Thanks.

Run the x64 Command Prompt for Visual Studio, not the normal one -- that will set the path differently so the 64-bit compiler is found. Build your own bjam rather than using a prebuilt binary by going to tools\jam\src and running build.bat. Then build Boost using your 64-bit bjam by running: tools\jam\src\bin.ntx86_64\bjam.exe --build-dir=c:\boost-build --build-type=complete toolset=msvc address-model=64 Add stage or install to the bjam commandline to have the resulting binaries put somewhere useful.

I did the suggested actions. - I am now able to build boost; I am able to use Serialization library inside a project created through Visual Studio 2005. - However, when I try to use the serialization library inside our custom build environment I still get the same linker error. Is there some bjam log file that I can examine to know what command line switches, etc. are being used for building the serialization library? Thanks. -----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Adam Merz Sent: Monday, October 20, 2008 5:25 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] Need help with using Boost::Serialization on AmD64, Windows, MSVC 8.0 Run the x64 Command Prompt for Visual Studio, not the normal one -- that will set the path differently so the 64-bit compiler is found. Build your own bjam rather than using a prebuilt binary by going to tools\jam\src and running build.bat. Then build Boost using your 64-bit bjam by running: tools\jam\src\bin.ntx86_64\bjam.exe --build-dir=c:\boost-build --build-type=complete toolset=msvc address-model=64 Add stage or install to the bjam commandline to have the resulting binaries put somewhere useful. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

Sahib Aulakh writes:
Is there some bjam log file that I can examine to know what command line switches, etc. are being used for building the serialization library?
When you invoke bjam, you can pass the argument -d+2 to show commands as they are executed, or you can pass the argument -n to show commands instead of executing them. These will both show arguments being passed to the compiler and linker for building the libraries. tools\jam\src\bin.ntx86_64\bjam.exe --build-type=complete --with-serialization toolset=msvc address-model=64 -n
participants (2)
-
Adam Merz
-
Sahib Aulakh