패키지 빌드

모든 시스템 의존성이 설치되었으면, 이제 우리가 만든 패키지를 빌드할 때 입니다.

rosmake 사용하기

rosmakemake 명령과는 조금 다른, ROS만의 특별한 마술을 수행합니다. 만약 rosmake beginner_tutorials라고 입력한다면, 이 명령어는 beginner_tutorials 패키지 뿐 아니라 의존성이 있는 모든 패키지들 까지 올바른 순서대로 빌드합니다. 우리의 패키지는 rospy, roscpp, std_msgs가 의존성 목록에 있으므로, 이 패키지들(그리고 그들의 의존성 패키지들)도 같이 rosmake명령어에 의해 빌드됩니다.

사용 예시:

rosmake [package]

아래의 내용을 입력해보세요:

$ rosmake beginner_tutorials

명령어가 끝나는 데는 약간의 시간이 필요할 것입니다. 명령어가 수행되는 동안 아래와 유사한 결과물을 보실 수 있습니다.

  • [ rosmake ] No package specified.  Building ['beginner_tutorials']
    [ rosmake ] Logging to directory
    [ rosmake ] /home/dbking/.ros/rosmake_output-2009-09-22-03-17-14
    [ rosmake ] [ 0 of 18  Completed ]
    [rosmake-0] >>> genmsg_cpp >>> [ make ]
    [rosmake-0] <<< genmsg_cpp <<< [PASS] [ 0.39 seconds ]
    [ rosmake ] [ 1 of 18  Completed ]
    ...
    ...
    ...
    [ rosmake ] [ 17 of 18  Completed ]
    [rosmake-0] >>> beginner_tutorials >>> [ make ]
    [rosmake-0] <<< beginner_tutorials <<< [PASS] [ 0.79 seconds ]

Fuerte에서는 패키지 의존성이 매우 줄어들었기 떄문에 수행하는데 거의 시간이 들지 않습니다.

  • [ rosmake ] rosmake starting...                                                                     
    [ rosmake ] Packages requested are: ['beginner_tutorials']                                          
    [ rosmake ] Logging to directory /home/alex/.ros/rosmake/rosmake_output-20120603-082414             
    [ rosmake ] Expanded args ['beginner_tutorials'] to:
    ['beginner_tutorials']                         
    [rosmake-0] Starting >>> std_msgs [ make ]                                                          
    [rosmake-1] Starting >>> roslang [ make ]                                                           
    [rosmake-0] Finished <<< std_msgs ROS_NOBUILD in package std_msgs
     No Makefile in package std_msgs  
    [rosmake-1] Finished <<< roslang ROS_NOBUILD in package roslang
     No Makefile in package roslang     
    [rosmake-1] Starting >>> rospy [ make ]                                                             
    [rosmake-2] Starting >>> roscpp [ make ]                                                            
    [rosmake-1] Finished <<< rospy ROS_NOBUILD in package rospy
     No Makefile in package rospy           
    [rosmake-2] Finished <<< roscpp ROS_NOBUILD in package roscpp
     No Makefile in package roscpp        
    [rosmake-2] Starting >>> beginner_tutorials [ make ]                                                
    [rosmake-2] Finished <<< beginner_tutorials [PASS] [ 1.14 seconds ]                                 
    [ rosmake ] Results:                                                                                
    [ rosmake ] Built 5 packages with 0 failures.                                                       
    [ rosmake ] Summary output to directory                                                             
    [ rosmake ] /home/alex/.ros/rosmake/rosmake_output-20120603-082414  

rosmake로 복수의 패키지 빌드하기

rosmake도구를 이용해서 복수의 패키지를 한번에 빌드할 수도 있습니다.

사용예시:

rosmake [package1] [package2] [package3]

복습

지금까지 배워본 명령어들을 써 봅시다.

  • rosdep = ros+dep(endencies) : 패키지 의존성을 설치하기 위한 도구
  • rosmake = ros+make : ROS Package를 빌드하는 도구

Wiki: ko/ROS/Tutorials/rosbuild/BuildingPackages (last edited 2013-08-10 15:54:56 by elitechrome)