-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Undefined Reference to cvRound when compiling with OpenCV 3 #1
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
The code should be compatible with OpenCV 3.2. Are you trying to compile darknet_ros with or without cuda (using GPU)? If you are using your graphics card, please try it again because I added a missing file to the CMakeLists.txt. |
Yes, I am compiling with cuda 8.0 on Jetson TX2. I have tried it again using new CMakeLists.txt. But still got the same error...
|
Hi, maybe the following links can help you: The error occurs in the official darknet code. Please have a look in the darknet google group to see how to fix this. Best, |
I added the following line to the CMakeLists.txt: add_definitions(-O4 -g) Now, it should compile. |
Add dependency so ROS messages are build first.
Add dependency so ROS messages are build first.
@mbjelonic "add_definitions(-O4 -g)" made my day. Thanks. |
I am trying to build darknet_ros under Ubuntu16.06 with OpenCV 3.2 and I met this error::
[ 49%] Building CXX object darknet_ros/darknet_ros/CMakeFiles/darknet_ros.dir/src/object_detector_demo.cpp.o
[ 49%] Building C object darknet_ros/darknet_ros/CMakeFiles/darknet_ros.dir/src/image_interface.c.o
[ 50%] Linking CXX executable /media/sdcard/catkin_ws/devel/lib/darknet_ros/darknet_ros
CMakeFiles/darknet_ros.dir//darknet/src/convolutional_layer.c.o: In function
cvPointFrom32f': convolutional_layer.c:(.text+0x660): undefined reference to
cvRound'convolutional_layer.c:(.text+0x670): undefined reference to
cvRound' CMakeFiles/darknet_ros.dir/__/darknet/src/convolutional_layer.c.o: In function
cvReadInt':convolutional_layer.c:(.text+0x1214): undefined reference to
cvRound' CMakeFiles/darknet_ros.dir/__/darknet/src/convolutional_layer.c.o: In function
cvEllipseBox':convolutional_layer.c:(.text+0x14b8): undefined reference to
cvRound' convolutional_layer.c:(.text+0x14d0): undefined reference to
cvRound'CMakeFiles/darknet_ros.dir//darknet/src/deconvolutional_layer.c.o:deconvolutional_layer.c:(.text+0x660): more undefined references to
cvRound' follow CMakeFiles/darknet_ros.dir/__/darknet/src/deconvolutional_layer.c.o: In function
make_deconvolutional_layer':deconvolutional_layer.c:(.text+0x1b18): undefined reference to
forward_deconvolutional_layer_gpu' deconvolutional_layer.c:(.text+0x1b1c): undefined reference to
forward_deconvolutional_layer_gpu'deconvolutional_layer.c:(.text+0x1b24): undefined reference to
backward_deconvolutional_layer_gpu' deconvolutional_layer.c:(.text+0x1b28): undefined reference to
backward_deconvolutional_layer_gpu'deconvolutional_layer.c:(.text+0x1b30): undefined reference to
update_deconvolutional_layer_gpu' deconvolutional_layer.c:(.text+0x1b34): undefined reference to
update_deconvolutional_layer_gpu'CMakeFiles/darknet_ros.dir//darknet/src/lsd.c.o: In function
cvPointFrom32f': lsd.c:(.text+0x660): undefined reference to
cvRound'lsd.c:(.text+0x670): undefined reference to
cvRound' CMakeFiles/darknet_ros.dir/__/darknet/src/lsd.c.o: In function
cvReadInt':lsd.c:(.text+0x1214): undefined reference to
cvRound' CMakeFiles/darknet_ros.dir/__/darknet/src/lsd.c.o: In function
cvEllipseBox':lsd.c:(.text+0x14b8): undefined reference to
cvRound' lsd.c:(.text+0x14d0): undefined reference to
cvRound'CMakeFiles/darknet_ros.dir//darknet/src/image.c.o:image.c:(.text+0x660): more undefined references to `cvRound' follow
collect2: error: ld returned 1 exit status
darknet_ros/darknet_ros/CMakeFiles/darknet_ros.dir/build.make:3384: recipe for target '/media/sdcard/catkin_ws/devel/lib/darknet_ros/darknet_ros' failed
make[2]: *** [/media/sdcard/catkin_ws/devel/lib/darknet_ros/darknet_ros] Error 1
CMakeFiles/Makefile2:2796: recipe for target 'darknet_ros/darknet_ros/CMakeFiles/darknet_ros.dir/all' failed
make[1]: *** [darknet_ros/darknet_ros/CMakeFiles/darknet_ros.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Any idea how to solve it?
The text was updated successfully, but these errors were encountered: