ethz-asl / tsdf-plusplus

TSDF++: A Multi-Object Formulation for Dynamic Object Tracking and Reconstruction
MIT License
168 stars 24 forks source link

Compilation error: ‘struct std::atomic<bool>’ has no member named ‘set’ #6

Open qserdel opened 2 years ago

qserdel commented 2 years ago

Hi, I am trying to build this seemingly wonderful package and can't seem to get over that error message... Does anybody knows what I am supposed to do to fix it ? Thanks in advance.

Errors     << tsdf_plusplus:make /d/qserdel/ros_ws/voxbloxpp_ws/logs/tsdf_plusplus/build.make.004.log                                                                                                     
/d/qserdel/ros_ws/voxbloxpp_ws/src/tsdf-plusplus/tsdf_plusplus/src/core/map.cc: In member function ‘void Map::transformLayer(const ObjectID&, const Transformation&)’:
/d/qserdel/ros_ws/voxbloxpp_ws/src/tsdf-plusplus/tsdf_plusplus/src/core/map.cc:235:25: error: ‘struct std::atomic<bool>’ has no member named ‘set’
  235 |     mo_block->updated().set();
      |                         ^~~
/d/qserdel/ros_ws/voxbloxpp_ws/src/tsdf-plusplus/tsdf_plusplus/src/core/map.cc:322:27: error: ‘struct std::atomic<bool>’ has no member named ‘set’
  322 |       mo_block->updated().set();
      |                           ^~~
/d/qserdel/ros_ws/voxbloxpp_ws/src/tsdf-plusplus/tsdf_plusplus/src/core/map.cc: In member function ‘void Map::removeObject(const ObjectID&)’:
/d/qserdel/ros_ws/voxbloxpp_ws/src/tsdf-plusplus/tsdf_plusplus/src/core/map.cc:356:25: error: ‘struct std::atomic<bool>’ has no member named ‘set’
  356 |     mo_block->updated().set();
      |                         ^~~
/d/qserdel/ros_ws/voxbloxpp_ws/src/tsdf-plusplus/tsdf_plusplus/src/mesh/mesh_integrator.cc: In member function ‘bool MOMeshIntegrator::generateMesh(bool, bool)’:
/d/qserdel/ros_ws/voxbloxpp_ws/src/tsdf-plusplus/tsdf_plusplus/src/mesh/mesh_integrator.cc:58:49: error: ‘Update’ has not been declared
   58 |     map_->getMapLayerPtr()->getAllUpdatedBlocks(Update::kMesh, &all_map_blocks);
      |                                                 ^~~~~~
/d/qserdel/ros_ws/voxbloxpp_ws/src/tsdf-plusplus/tsdf_plusplus/src/mesh/mesh_integrator.cc: In member function ‘void MOMeshIntegrator::generateMeshBlocksFunction(const BlockIndexList&, bool, voxblox::ThreadSafeIndex*)’:
/d/qserdel/ros_ws/voxbloxpp_ws/src/tsdf-plusplus/tsdf_plusplus/src/mesh/mesh_integrator.cc:104:24: error: ‘struct std::atomic<bool>’ has no member named ‘reset’
  104 |       block->updated().reset(Update::kMesh);
      |                        ^~~~~
/d/qserdel/ros_ws/voxbloxpp_ws/src/tsdf-plusplus/tsdf_plusplus/src/mesh/mesh_integrator.cc:104:30: error: ‘Update’ has not been declared
  104 |       block->updated().reset(Update::kMesh);
      |                              ^~~~~~
make[2]: *** [CMakeFiles/tsdf_plusplus.dir/build.make:89: CMakeFiles/tsdf_plusplus.dir/src/core/map.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/d/qserdel/ros_ws/voxbloxpp_ws/src/tsdf-plusplus/tsdf_plusplus/src/integrator/integrator.cc: In member function ‘MOVoxel* Integrator::allocateStorageAndGetVoxelPtr(const GlobalIndex&, voxblox::Block<MOVoxel>::Ptr*, voxblox::BlockIndex*)’:
/d/qserdel/ros_ws/voxbloxpp_ws/src/tsdf-plusplus/tsdf_plusplus/src/integrator/integrator.cc:435:28: error: ‘struct std::atomic<bool>’ has no member named ‘set’
  435 |   (*last_block)->updated().set();