问题:
如果src原本没有CMakeLists.txt ,使用catkin_make 或者catkin_init_workspace后,会自动链接到toplevel.cmake,但是如果你不小心移动了toplevel.cmake 或者修改了其中的内容,就会导致很多编译问题。
解决方法:
在该文件目录下添加toplevel.cmake ,如果是内容更改则替换为以下内容,以下版本文melodic,找到相应的版本添加。
# toplevel CMakeLists.txt for a catkin workspace
# catkin/cmake/toplevel.cmake
cmake_minimum_required(VERSION 3.0.2)
project(Project)
set(CATKIN_TOPLEVEL TRUE)
# search for catkin within the workspace
set(_cmd "catkin_find_pkg" "catkin" "${CMAKE_SOURCE_DIR}")
execute_process(COMMAND ${_cmd}
RESULT_VARIABLE _res
OUTPUT_VARIABLE _out
ERROR_VARIABLE _err
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE
)
if(NOT _res EQUAL 0