root@itmlcc:/home/lcc/share/orocos-ocl-1.8.0# make
Use: make docapi dochtml docpdf to build the documentation.
[ 0%] Built target message
[ 5%] Building CXX object ocl/CMakeFiles/orocos-ocl-common-gnulinux.dir/ocltoolkit.o
[ 11%] Building CXX object ocl/CMakeFiles/orocos-ocl-common-gnulinux.dir/HMIConsoleOutput.o
Linking CXX shared library liborocos-ocl-common-gnulinux.so
[ 11%] Built target orocos-ocl-common-gnulinux
[ 16%] Building CXX object taskbrowser/CMakeFiles/orocos-taskbrowser-gnulinux.dir/TaskBrowser.o
Linking CXX shared library liborocos-taskbrowser-gnulinux.so
[ 16%] Built target orocos-taskbrowser-gnulinux[ 22%] Building CXX object timer/CMakeFiles/orocos-timer-gnulinux.dir/TimerComponent.o
Linking CXX shared library liborocos-timer-gnulinux.so
[ 22%] Built target orocos-timer-gnulinux
[ 27%] Building CXX object helloworld/CMakeFiles/helloworld.dir/HelloWorld.o
Linking CXX executable helloworld
../ocl/liborocos-ocl-common-gnulinux.so.1.8.0: undefined reference to `RTT::OS::StartStopManager::startFunction(boost::function
collect2: ld returned 1 exit status
make[2]: *** [helloworld/helloworld] Error 1
make[1]: *** [helloworld/CMakeFiles/helloworld.dir/all] Error 2
make: *** [all] Error 2
由于使用的是orocos-rtt-1.8.1,在/usr/local/lib/目录下并没有liborocos-ocl-common-gnulinux.so.1.8.0,而只有liborocos-ocl-common-gnulinux.so.1.8.1,尝试将liborocos-ocl-common-gnulinux.so.1.8.1软连接为liborocos-ocl-common-gnulinux.so.1.8.0,重新编译问题照旧。查看liborocos-ocl-common-gnulinux.so.1.8.1的内容:
root@itmlcc:/home/lcc/share/orocos-ocl-1.8.0# nm -C /usr/local/lib/liborocos-rtt-gnulinux.so.1.8.1 grep RTT::OS::StartStopManager::startFunction
002f2d20 T RTT::OS::StartStopManager::startFunction(boost::function
可以看到RTT::OS::StartStopManager::startFunction函数的参数和orocos-ocl-1.8.0需要的并不完全一致。
于是重新编译了orocos-rtt-1.8.0,发现和orocos-ocl-1.8.0是匹配的,没上面的这个错误了,nm的结果也是正确的。
目前rtt更新到了1.8.2,而最新的ocl却只是1.8.0的。
而orocos的网站上也对于orocos-ocl-1.8.0的包给出了如下解释:
A tarball of the current stable version (works with RTT-1.8.x)
也就是说OCL-1.8.0可以和RTT-1.8.x工作。
如今实测得到的结果说明并不是向他们所说的一样兼容。
No comments:
Post a Comment