Your question "not linking with roscpp" is already the answer. Your posted CMake code does not link the library against roscpp. You need to call target_link_libraries(complementary_filter \${catkin_LIBRARIES}) (and maybe also eigen).