<div dir="ltr"><div>Hello Kwiver-folk,</div><div><br></div>I'm building MapTK on Windows 7/64 using VStudio 12 and having two immediate difficulties:  a compilation problem and a runtime assert.<div><br></div><div>MapTK is version 0.6.0, Eigen is 3.2.6<br><div><br></div><div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">I've worked through getting Boost and Eigen built.  When I compile maptk, the first problem is this:</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">   [ 98%] Building CXX object tools/CMakeFiles/maptk_pos2krtd.dir/pos2krtd.cxx.obj</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">  pos2krtd.cxx</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">  C:\dev\maptk\tools\pos2krtd.cxx(220) : error C2719: 'base_camera': formal parameter with __declspec(align('16')) won't</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">  be aligned</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">  C:\dev\maptk\tools\pos2krtd.cxx(238) : error C2719: 'base_camera': formal parameter with __declspec(align('16')) won't</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">  …</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"> </span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">I fixed these compilation errors by changing the signature of the offending function from pass-by-value to pass-by-reference:</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"> </span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">    /// Convert a POS file to a KRTD file</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">    bool convert_pos2krtd(const maptk::path_t& pos_filename,</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">                      const maptk::path_t& krtd_filename,</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">                      maptk::local_geo_cs& cs,</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">                      maptk::camera_d& base_camera, // msr.  was pass-by-value</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">                      maptk::rotation_d const& ins_rot_offset = maptk::rotation_d())</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"> </span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"> </span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">That allows everything to compile and link.  The next problem was that I got an Eigen Assert when I run any of the executables:</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"> </span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">C:\Program Files (x86)\MAPTK\bin>maptk_analyze_tracks.exe</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">...</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Assertion failed: (reinterpret_cast<size_t>(array) & 0xf) == 0 && "this assertion is explained here: " "<a href="http://eigen.tuxfamily.org/d"><span style="color:purple">http://eigen.tuxfamily.org/d</span></a></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">ox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****", file c:\program files (x86)\eigen\include\eigen</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">3\eigen\src/Core/DenseStorage.h, line 86</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"> </span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">The web page says that classes which contain certain Eigen data structures as members need to use the</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">     EIGEN_MAKE_ALIGNED_OPERATOR_NEW macro to override the "new" operator so that those members will be 16-byte aligned. I've done that but am still seeing the assert.</span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"><br></span></p><p class="MsoNormal"><font face="Calibri, sans-serif"><span style="font-size:14.6667px">Can anyone offer insight into any of this?</span></font></p><p class="MsoNormal"><font face="Calibri, sans-serif"><span style="font-size:14.6667px"><br></span></font></p><p class="MsoNormal"><font face="Calibri, sans-serif"><span style="font-size:14.6667px">msr</span></font></p><p class="MsoNormal"><font face="Calibri, sans-serif"><span style="font-size:14.6667px"><br></span></font></p></div></div></div>