Skip to content

Issue in Chapter2 #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
d9807302 opened this issue Dec 29, 2017 · 3 comments
Closed

Issue in Chapter2 #8

d9807302 opened this issue Dec 29, 2017 · 3 comments

Comments

@d9807302
Copy link

Hi qboticslabs:
I just follow the process in the book, when I use "catkin_make" to make face_tracker_pkg and face_tracker_control in my ros_projects_ws, the error is shown as following

CMake Error at /opt......./cmake:197
generate_messages() must be called before catkin_package() in project

I don't know how to solve it, please try to help me, thanks.

John

@qboticslabs
Copy link
Owner

Can you check this #6

@d9807302
Copy link
Author

d9807302 commented Jan 2, 2018

My CMakeList.txt is using current version, and I already add Include in my directory.
However, the problem is the same. I'm confuse how to let generate_messages() to be called before catkin_package()?

@d9807302
Copy link
Author

d9807302 commented Jan 2, 2018

I just change the sequence of CMakeFile, the previous error is disappeared, however, there are more error occurred, it seems un-link the code with OpenCV library, please let me know your comments, thanks.

cmake_minimum_required(VERSION 2.8.3)
project(face_tracker_pkg)

find_package(catkin REQUIRED COMPONENTS
cv_bridge
image_transport
roscpp
rospy
sensor_msgs
std_msgs
message_generation

)

find_package(Boost REQUIRED COMPONENTS system)

add_message_files(
FILES
centroid.msg
)

generate_messages(
DEPENDENCIES
std_msgs

)

Generate added messages and services with any dependencies listed here

catkin_package(
CATKIN_DEPENDS roscpp rospy std_msgs message_runtime

)

include_directories(
${catkin_INCLUDE_DIRS}
)

add_executable(face_tracker_node src/face_tracker_node.cpp)
target_link_libraries(face_tracker_node
${catkin_LIBRARIES}
${OpenCV_LIBRARIES}
)

[ 5%] Linking CXX executable /home/john/ros_projects_ws/devel/lib/face_tracker_pkg/face_tracker_node
CMakeFiles/face_tracker_node.dir/src/face_tracker_node.cpp.o: 於函式 Face_Detector::~Face_Detector():
face_tracker_node.cpp:(.text._ZN13Face_DetectorD2Ev[ZN13Face_DetectorD5Ev]+0x53): 未定義參考到「cv::destroyWindow(cv::String const&)」
CMakeFiles/face_tracker_node.dir/src/face_tracker_node.cpp.o: 於函式 Face_Detector::imageCb(boost::shared_ptr<sensor_msgs::Image
<std::allocator > const> const&):
face_tracker_node.cpp:(.text._ZN13Face_Detector7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE[_ZN13Face_Detector7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE]+0xa8): 未定義參考到「cv::CascadeClassifier::CascadeClassifier()」
face_tracker_node.cpp:(.text._ZN13Face_Detector7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE[_ZN13Face_Detector7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE]+0xd7): 未定義參考到「cv::CascadeClassifier::load(cv::String const&)」
face_tracker_node.cpp:(.text._ZN13Face_Detector7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE[_ZN13Face_Detector7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE]+0x169): 未定義參考到「cv::imshow(cv::String const&, cv::_InputArray const&)」
face_tracker_node.cpp:(.text._ZN13Face_Detector7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE[_ZN13Face_Detector7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE]+0x236): 未定義參考到「cv::waitKey(int)」
face_tracker_node.cpp:(.text._ZN13Face_Detector7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE[_ZN13Face_Detector7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE]+0x245): 未定義參考到「cv::CascadeClassifier::~CascadeClassifier()」
face_tracker_node.cpp:(.text._ZN13Face_Detector7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE[ZN13Face_Detector7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE]+0x482): 未定義參考到「cv::CascadeClassifier::~CascadeClassifier()」
CMakeFiles/face_tracker_node.dir/src/face_tracker_node.cpp.o: 於函式 Face_Detector::detectAndDraw(cv::Mat&, cv::CascadeClassifier&):
face_tracker_node.cpp:(.text.ZN13Face_Detector13detectAndDrawERN2cv3MatERNS0_17CascadeClassifierE[ZN13Face_Detector13detectAndDrawERN2cv3MatERNS0_17CascadeClassifierE]+0x47c): 未定義參考到「cv::CascadeClassifier::detectMultiScale(cv::InputArray const&, std::vector<cv::Rect, std::allocator<cv::Rect > >&, double, int, int, cv::Size, cv::Size)」
face_tracker_node.cpp:(.text._ZN13Face_Detector13detectAndDrawERN2cv3MatERNS0_17CascadeClassifierE[_ZN13Face_Detector13detectAndDrawERN2cv3MatERNS0_17CascadeClassifierE]+0xf85): 未定義參考到「cv::imshow(cv::String const&, cv::_InputArray const&)」
collect2: error: ld returned 1 exit status
face_tracker_pkg/CMakeFiles/face_tracker_node.dir/build.make:128: recipe for target '/home/john/ros_projects_ws/devel/lib/face_tracker_pkg/face_tracker_node' failed
make[2]: *** [/home/john/ros_projects_ws/devel/lib/face_tracker_pkg/face_tracker_node] Error 1
CMakeFiles/Makefile2:366: recipe for target 'face_tracker_pkg/CMakeFiles/face_tracker_node.dir/all' failed
make[1]: *** [face_tracker_pkg/CMakeFiles/face_tracker_node.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j1 -l1" failed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants