当代码写完,CMakelists和package.xml写好后就可以开始编译
一般是在工作空间的那个文件夹中进行编译。
打开终端,输入catkin_make 或者catkin build就可以开始编译。不过后者在一些低版本的ubuntu中不能作用。后者看着更舒服,推荐使用后者。不过如果工作空间的编译命令是有点性情的,如果使用了一个,那么下一次编译也必须使用前面的命令。
报错expected initialzer before '':分号可能打错了,直接ctrl+f找中文的;就行了。
Roscore 无反应:bashrc有问题 expert注释即可(有人搞ros系统间通讯的会发现,详见:https://blog.csdn.net/qq_37719268/article/details/79019044)
运行时,只需要在work space 里打开终端,rosrun <pkg_Name> <Executable file_Name>
then you can run the program.这边之所以是可执行文件名而不是.cpp名是因为这个名字不一定是相同的,这个和cmakelists里面那个add_executable有关,它前面的名字是可执行文件名
这里需要注意的是,如果在运行前该终端没有source devel/setup.bash,那么就会找不到。
如果编译后运行发现没有什么变化的话:
如果重新编译的话有时候变动较大,会出现编译好像成功了,但其实没成功的结果,这时候就需要把devel文件夹和build文件夹删除后重新编译。
有的时候编译后没有source也会导致rosrun的程序是之前的,如果发生可以考虑source一下,实在不行万能重启。