问题描述:
aq@dog:~/ant/FAST-LIVO-project/Sophus/build$ make /usr/bin/cmake -S/home/aq/ant/FAST-LIVO-project/Sophus -B/home/aq/ant/FAST-LIVO-project/Sophus/build --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /home/aq/ant/FAST-LIVO-project/Sophus/build/CMakeFiles /home/aq/ant/FAST-LIVO-project/Sophus/build/CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[1]: 进入目录“/home/aq/ant/FAST-LIVO-project/Sophus/build” make -f CMakeFiles/Sophus.dir/build.make CMakeFiles/Sophus.dir/depend make[2]: 进入目录“/home/aq/ant/FAST-LIVO-project/Sophus/build” cd /home/aq/ant/FAST-LIVO-project/Sophus/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/aq/ant/FAST-LIVO-project/Sophus /home/aq/ant/FAST-LIVO-project/Sophus /home/aq/ant/FAST-LIVO-project/Sophus/build /home/aq/ant/FAST-LIVO-project/Sophus/build /home/aq/ant/FAST-LIVO-project/Sophus/build/CMakeFiles/Sophus.dir/DependInfo.cmake --color= Scanning dependencies of target Sophus make[2]: 离开目录“/home/aq/ant/FAST-LIVO-project/Sophus/build” make -f CMakeFiles/Sophus.dir/build.make CMakeFiles/Sophus.dir/build make[2]: 进入目录“/home/aq/ant/FAST-LIVO-project/Sophus/build” [ 5%] Building CXX object CMakeFiles/Sophus.dir/sophus/so2.cpp.o /usr/bin/c++ -DSophus_EXPORTS -I/usr/include/eigen3 -O3 -DNDEBUG -fPIC -Wall -Werror -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unknown-pragmas -o CMakeFiles/Sophus.dir/sophus/so2.cpp.o -c /home/aq/ant/FAST-LIVO-project/Sophus/sophus/so2.cpp /home/aq/ant/FAST-LIVO-project/Sophus/sophus/so2.cpp: In constructor ‘Sophus::SO2::SO2()’: /home/aq/ant/FAST-LIVO-project/Sophus/sophus/so2.cpp:32:26: error: lvalue required as left operand of assignment 32 | unit_complex_.real() = 1.; | ^~ /home/aq/ant/FAST-LIVO-project/Sophus/sophus/so2.cpp:33:26: error: lvalue required as left operand of assignment 33 | unit_complex_.imag() = 0.; | ^~ make[2]: *** [CMakeFiles/Sophus.dir/build.make:66:CMakeFiles/Sophus.dir/sophus/so2.cpp.o] 错误 1 make[2]: 离开目录“/home/aq/ant/FAST-LIVO-project/Sophus/build” make[1]: *** [CMakeFiles/Makefile2:91:CMakeFiles/Sophus.dir/all] 错误 2 make[1]: 离开目录“/home/aq/ant/FAST-LIVO-project/Sophus/build” make: *** [Makefile:144:all] 错误 2问题解答:
(按 Sophus/sophus/so2.cpp 你的行号)
把:
unit_complex_.real() = 1.; unit_complex_.imag() = 0.;改成:
unit_complex_.real(1.); unit_complex_.imag(0.);重新编译即可。