fatal error: pointgrey_camera_driver/PointGreyCamera.h: No such file or directory

asked 2017-06-21 01:47:48 -0500

benabruzzo gravatar image

updated 2022-01-22 16:16:35 -0500

Evgeny gravatar image

I am trying to set some camera parameters in code instead of at launch, and compilation cannot use the driver header file. I assume it is in my cmake configuration, but I'm not sure where the error is, here is a stripped down version of my project:

#include <ros/ros.h>
#include <pointgrey_camera_driver/PointGreyCamera.h> \\ this line causes the compile error
class mweBlackfly
{
private:
    ros::NodeHandle n;
public:
    mweBlackfly()
    {ros::Duration(5).sleep(); // sleep for 'x' second(s).}
};

int main(int argc, char **argv)
{
    ros::init(argc, argv, "mweBlackfly");
    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.8.3)
project(mwe)

find_package(catkin REQUIRED COMPONENTS
  pointgrey_camera_driver
)

catkin_package(
)

include_directories(${catkin_INCLUDE_DIRS})

add_executable(         mweBlackfly  src/mweBlackfly.cpp)
  add_dependencies(     mweBlackfly  mwe_gencpp)
  target_link_libraries(mweBlackfly  ${catkin_LIBRARIES})

package.xml

<?xml version="1.0"?>
<package>
  <name>mwe</name>
  <version>0.0.0</version>
  <description>The mwe package</description>

  <maintainer email="turtlebot@todo.todo">turtlebot</maintainer>

  <license>TODO</license>

  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>pointgrey_camera_driver</build_depend>
  <run_depend>pointgrey_camera_driver</run_depend>

  <export>
    <!-- Other tools can request additional information be placed here -->
  </export>
</package>

compile error: /home/turtle

bot/ros/src/mwe/src/mweBlackfly.cpp:5:55: fatal error: pointgrey_camera_driver/PointGreyCamera.h: No such file or directory
compilation terminated.
mwe/CMakeFiles/mweBlackfly.dir/build.make:62: recipe for target 'mwe/CMakeFiles/mweBlackfly.dir/src/mweBlackfly.cpp.o' failed
make[2]: *** [mwe/CMakeFiles/mweBlackfly.dir/src/mweBlackfly.cpp.o] Error 1
CMakeFiles/Makefile2:442: recipe for target 'mwe/CMakeFiles/mweBlackfly.dir/all' failed
make[1]: *** [mwe/CMakeFiles/mweBlackfly.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

edit: I added a comment to the second #include line to highlight the code that causes the error to throw.

edit retag flag offensive close merge delete

Comments

Can you perhaps describe what it is that you actually want to do? "getting some parameters in code instead of at launch" is a bit vague, and I'm wondering whether there might be an easier / more appropriate approach to do what you want.

gvdhoorn gravatar image gvdhoorn  ( 2017-06-21 02:26:37 -0500 )edit

I think I figured out a workaround: I believe the driver binds values to the parameters at launch, and they need dynamic reconfigure to edit. I used the command line option found here to load a yaml: http://library.isr.ist.utl.pt/docs/ro...

benabruzzo gravatar image benabruzzo  ( 2017-06-27 23:41:13 -0500 )edit