ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

vonovak's profile - activity

2019-03-05 23:31:36 -0500 received badge  Taxonomist
2016-05-24 02:03:59 -0500 received badge  Good Answer (source)
2014-03-19 04:22:19 -0500 received badge  Famous Question (source)
2014-01-28 17:30:31 -0500 marked best answer undefined reference to a static library

hello, I'm having a lot of trouble with this one: (ros fuerte, ubuntu 12.04 LTS)

I'm working on a C++ package that uses a C library libccv.a. When linking, I am getting this error:

undefined reference to 'ccv_enable_default_cache()'

and more undefined references to the stuff from the library

libccv.a comes with a header file ccv.h and it depends on libjpeg and libpng.

here is the relevant part of the CMakeLists.txt

set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
rosbuild_add_executable(${PROJECT_NAME} src/TDetector.cpp src/TRecognizer.cpp src/${PROJECT_NAME}.cpp)
FIND_LIBRARY(ccv libccv.a PATHS ${LIBRARY_OUTPUT_PATH}))
include_directories(${PROJECT_SOURCE_DIR}/src)
FIND_LIBRARY(jpeg libjpeg.a PATHS usr/lib)
FIND_LIBRARY(png libpng.a PATHS usr/lib)
target_link_libraries(${PROJECT_NAME} ${ccv} ${jpeg} ${png})

the library is in /lib folder of my project. everything else (source and headers) is in /src. I also tried the link_directories way instead of find_library, without success. I believe the linker finds the library because there is no cannot find message

I read some resources on rosbuild but I can't make it work. What am I doing wrong?

Any help is greatly appreciated, thanks!

2014-01-07 09:09:58 -0500 received badge  Famous Question (source)
2013-11-08 02:58:12 -0500 received badge  Famous Question (source)
2013-09-26 23:02:14 -0500 received badge  Notable Question (source)
2013-09-14 11:44:25 -0500 received badge  Popular Question (source)
2013-09-12 21:57:11 -0500 asked a question cannot find my package in apt-get

Hello, I programmed my own ros package and did all the steps described here to share it. The package is even built on the farm. Still, when I do sudo apt-get install ros-groovy-te [tab] the auto complete does not offer my package. What have I done wrong?

Thanks!

2013-09-04 23:17:20 -0500 received badge  Notable Question (source)
2013-08-29 21:07:30 -0500 received badge  Popular Question (source)
2013-08-29 06:39:41 -0500 received badge  Notable Question (source)
2013-08-29 01:17:31 -0500 asked a question moveit - nearest reachable pose for arm gripper

Hi, I am working with a robotic arm and I have the following question (I am completely new to moveit): I can give the gripper a Pose to go to but the problem is that the arm may not be able to get into the pose, even though it is in its range of motion. Is there some automatic way of finding the nearest pose that the arm can get into?

Thanks a lot

2013-08-28 23:40:42 -0500 commented answer contributing to ros

I still don't quite understand the answer to 1. My node needs an external library that I have downloaded and compiled and put it in the lib directory of the package. It is also in the repo. Will it get installed when I do all the steps in the page you linked?

2013-08-28 23:27:11 -0500 received badge  Popular Question (source)
2013-08-28 23:24:41 -0500 received badge  Scholar (source)
2013-08-28 17:09:49 -0500 received badge  Nice Answer (source)
2013-08-28 11:02:47 -0500 received badge  Nice Question (source)
2013-08-28 09:44:13 -0500 received badge  Student (source)
2013-08-28 09:42:02 -0500 asked a question contributing to ros

Hi, I wrote a new package for ros groovy (here) and I would like to share it with others so that they can use just apt-get to install it. However, I have some questions before I do so:

  1. there is a static library that the node needs to run. What should my CMakeLists.txt look like so that the library gets installed when somebody uses apt-get install?

  2. This is more of a linux question: I read the page about contributing to ros - so I know I only share my repo. But the repo does not contain the executables. From what I have read online it seems that apt-get install does not involve any compiling - by using apt-get we are downloading executables right away. So where are they stored and how do they come to life?

thanks for anwerring

2013-08-28 00:11:08 -0500 answered a question Configuring frame rate of Asus Xtion Pro Live

Not sure about openni2_camera but this: " works for kinect. It doesnt change the frame rate but just skips frames. When you run rosrun rqt_reconfigure rqt_reconfigure you may be able to find more..

2013-08-28 00:09:48 -0500 commented question Configuring frame rate of Asus Xtion Pro Live

Not sure about openni2_camera but this:

<param name="camera/driver/data_skip" value="10" /> <!-- 0 is default, 10 will drop 9/10 frames -->

works for kinect in openni_launch. It doesnt change the frame rate but it skips frames. When you run rosrun rqt_reconfigure rqt_reconfigure you may be able to find more.

Or take a look at a slightly different question here

2013-08-04 12:07:46 -0500 commented answer Makefile to CMakeLists.txt (ROS, Eclipse)

Never seen that message. Google. Note that in the find module, the NAMES should contain "environment", not "libenvironment" also pay attention to case sensitivity

2013-08-04 10:52:26 -0500 commented answer Makefile to CMakeLists.txt (ROS, Eclipse)

sorry, u have the figure that one by yourself... I've got work of my own, you see.

2013-08-04 10:41:28 -0500 commented answer Makefile to CMakeLists.txt (ROS, Eclipse)
2013-08-04 10:36:42 -0500 commented answer Makefile to CMakeLists.txt (ROS, Eclipse)

you probably need to write your own find module. don't worry, it's not a big deal. everything is described in the help page i linked to. to sketch the outline: create FindLIBENVIRONMENT.cmake and put it in a dir in ur package inside of the file use FIND_PATH to find the dir with the library's header file add the dir path to CMAKE_MODULE_PATH

2013-08-04 09:29:47 -0500 edited answer Makefile to CMakeLists.txt (ROS, Eclipse)

the CMakeLists.txt is not influenced by eclipse

you should be able to build the library (libenvironment.a if I see correctly) with the makefile that you have, and then use find_package(YOUR_LIB) in your CMakeLists.txt (there is no need to build the library every time you build your project)

see cmake help on how to include libraries