Compiling gtsam with Cmake in Windows

Issue #301 resolved
Yuval Goldfracht created an issue

Hi,

i'm trying to build gtsam_3.2.1 using Cmake (using boost 1.62) but can't seem to get visual studio to compile the project correctly. I'm relaying on some of the solutions mentioned in here: https://bitbucket.org/gtborg/gtsam/issues/159/cant-compile-examples-in-windows-7-64-bit

but still getting the following error: fatal error LNK1181: cannot open input file '..\lib\Release\gtsam.lib'

My steps for compilation were: 1. install boost using the following command: a. bootstrap b. b2 --toolset=msvc-12.0 --build-type=complete architecture=x86 address-model=64 stage 2. Setting BOOST_ROOT & BOOST_LIBRARYDIR to the correct values 3. generating the project in Cmake 4. Compiling "INSTALL"

Any ideas?

Thanks Yuval

Comments (8)

  1. Simon Julier

    Is there any news on this? For the course we are teaching next week, some students need to use Windows. A TA has been trying a Windows build, but he's having problems with cmake being unable to find boost.

  2. Jing Dong

    Hi @yuvalg1987 , do you have any extra errors in VS log other than linking issue shown? Can you have a check in build/lib/Release to see whether gtsam.lib is actually generated?

  3. ZuhaoZou

    Hi, @jdong37 and @yuvalg1987. I also have this problem when I compile the gtsam solution in visual studio 2015. I just check out the place lib/Release/... , and I cannot find the gtsam.lib.

    There are also some other errors:

    Error LNK2019 unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'native_ecat''(void)" (??__Enative_ecat@system@boost@@YAXXZ) wrap (wrap\wrap) C:\Users\zuhao\Downloads\gtsam-3.2.1\build\wrap\wrap_lib.lib(Module.obj) 1

    Error LNK1120 9 unresolved externals wrap (wrap\wrap) C:\Users\zuhao\Downloads\gtsam-3.2.1\build\bin\Release\wrap.exe 1

    Error C2280 'Eigen::Block<gtsam::Matrix,-1,-1,false> &Eigen::Block<gtsam::Matrix,-1,-1,false>::operator =(const Eigen::Block<gtsam::Matrix,-1,-1,false> &)': attempting to reference a deleted function gtsam C:\Users\zuhao\Downloads\gtsam-3.2.1\gtsam\base\SymmetricBlockMatrix.cpp 68

    Any help is appreciated.

  4. ZuhaoZou

    I just succeed in compiling a gtsam example project.

    As a reminder: for those who are compiling gtsam in visual studio 2015 and having similar errors, please use visual studio 2013 and boost 1.56. Also, remember to turn on Boost_USE_STATIC_LIBS and ensure boost is install in 32bit if you want to use visual studio 12 2013 as the cmake generator (64bit if visual studio 12 2013 x64).

    Good luck!

  5. Log in to comment