Compiling gtsam with Cmake in Windows
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)
-
-
-
assigned issue to
-
assigned issue to
-
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.
-
Hi @SJulier I'm looking at this right now, will get back to you if I find something. Thanks!
-
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?
-
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.
-
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!
-
- changed status to resolved
Should be fixed now.
- Log in to comment
Jing will take a look.