之前用过这个NDT加速包一切正常,然后今天本来是想把自己的一个功能包A从一个大的工作空间ws1中分出来,重新放进另外一个工作空间ws2中,并且这个功能包A是用到了NDT_omp的,所以我将NDT_omp与功能包A从ws1中ctrl cv到ws2的src下,catkin_make的时候突然报错说找不到ndt_ompConfig.cmake或ndt_omp-config.cmake。
这我就纳闷了,之前在ws1下工作得好好的怎么换个工作空间就用不了了,我回头看编译过程的时候发现系统首先编译我的功能包A,再编译的ndt_omp,然而功能包A是用到了ndt_omp的,如果ndt_omp没有在A之前编译那自然就不会再build和devel文件夹中生成ndt_ompConfig.cmake文件了,所以要先编译ndt_omp。
解决方法:先把功能包A删除(或者放出去),让src下只有ndt_omp功能包,然后编译,编译完成后可以在终端使用指令locate ndt_ompConfig.cmake,看到该工作空间下生成了两个config文件,这个时候再把A拖回来,再次编译,就不会报错了