关于rosmake 和catkin_make的相关编译
(2014-04-17 11:12:16)
标签:
catkin_makerosmake |
分类: ROS |
rosmake是用在rosbuild创建工作空间的编译,rosbuild是ROS传统的编译系统,属于老版本。而catkin_make
是用于catkin 所创建的工作空间。
对于两种创建工作,可以参考大神的原创配置ROS的工作空间。
下面主要讲,从开源网站上git 或者svn下来的代码编译时,注意哪些要点:
必须清楚
Makefile和package.xml的区别。它们都是存放相关节点等依赖关系。编译时必须区分。Makefile是rosbuild工作空间编译的。package.xml是catkin_make编译的,也就是说,如果项目中存在Makefile这个文件,就必须让它在rosbuild工作空间中编译。编译流程:首先在放package目录下:git
clone [path]克隆源码-》然后rosdep install [
如果项目中存在package.xml.那么久必须在catkin_make创建的工作空间下git
clone或者svn。然后再工作空间顶层目录下,输入命令:catkin_make.就可以编译了。编译可能报错,一般是依赖包不存在,或者没有安装,所以看package.xml文件中依赖哪些包。报错哪个包,然后到官网上git
clone或者svn这个包,编译就可以了。
编译总结:一、catkin_make编译起来如果不指定编译那个package的话,它是编译工作空间中所以的包。如果有个包编译出错,会影响到其他包的编译。所以最好指定编译。使用
博客地址是:http://blog.sina.com.cn/u/3285404150
下面主要讲,从开源网站上git 或者svn下来的代码编译时,注意哪些要点:
package_name]-》cd
[package_name]—》rosmake。注意是rosmake。而不是catkin_make.编译可能报错,一可能先要make
clean在编译。如果是依赖包报错,一般是依赖包不存在,或者没有安装,所以看Makefile文件中依赖哪些包。报错哪个包,然后到官网上git
clone或者svn这个包,编译就可以了。catkin_make
clean package_name
然后再执行catkin_make
package_name命令。
二、如果你从原有的工作空间中拷贝包到另一个工作空间或者另一个ros系统上,那么可能编译出现错误。可以首先,执行clean
,然后 对于catkin_make包,执行catkin_make install
package_name,如果是rosmakepackage,那么执行rosdep install
package_name。最后在执行catkin_make
package_name 或者rosmake package_name。
----------------------------------------------------------------
欢迎大家转载我的文章。
转载请注明:转自听雨轩_Mrfu博客地址是:http://blog.sina.com.cn/u/3285404150
前一篇:ROS新手教程(转载)

加载中…