2015-01-11 4 views
0

Привет я в настоящее время пытается создать пользовательское сообщение для exisitng с пакетом, однако я создать Point_id.msg, но когда я включил его в файл заголовка в моем коде, я получаю следующую ошибкуНевозможно создать пользовательские сообщения

/home/111/222/333/find_object_2d/src/objects_detected.cpp:7:41: fatal error:  
find_object_2d/PointObjects.h: No such file or directory 
compilation terminated. 
make[2]: *** [find_object_2d/CMakeFiles/objects_detected.dir/src/objects_detected.cpp.o] Error 1 
make[1]: *** [find_object_2d/CMakeFiles/objects_detected.dir/all] Error 2 
make: *** [all] Error 2 
Invoking "make" failed 

Это то, что я включен в Point_id.msg:

int16 id 
geometry_msgs/Point punto 

Это мой включают заголовок в кодах:

#include <find_object_2d/PointObjects.h> 
#include <find_object_2d/Point_id.h 

В существующем cmakelist.txt не было никаких признаков # rosbuild_gensrv() , так что я должен создать новый пакет в существующем пакете и создать файлы .msg в папке src и попытаться его построить? или что я должен делать? Я действительно смущен.

Пожалуйста, помогите вам!

+0

@ Марио может вас взглянуть на это? – WinnePoon

+0

Использование '@ name' не будет работать, если другое лицо не опубликовано в этом обсуждении. Но, простите, нет, никогда не касался этого кода. – Mario

+0

проверить ответ @luator и этот простой учебник для получения дополнительной информации: http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv – alextoind

ответ

0

Необходимо немного скопировать CMakeLists.txt из пакета, иначе файлы * .h не будут генерироваться.

Если вы используете rosmake:

Просто добавьте rosbuild_genmsg() в CMakeLists.txt

Если вы используете Catkin:

С сережкой это немного сложнее:

Добавить «message_generation» на find_package(catkin REQUIRED COMPONENTS ... и

add_message_files(
    FILES 
    Point_id.msg 
) 
generate_messages(
    DEPENDENCIES 
    geometry_msgs 
) 

Надеюсь, это поможет.

Смежные вопросы