参考资料:

生成.so文件:http://blog.csdn.net/u013243710/article/details/35795841

调用.so文件:http://blog.csdn.net/shawn_zhangguang/article/details/53609757 (此方法不能用)

用下面的方法成功:http://www.bubuko.com/infodetail-2005080.html
ros项目 CMakeLists.txt中添加自己的库路径

(配置.so 可以不需要):http://blog.csdn.net/u013859301/article/details/53079287

 

ROS下面CMakeList.txt 理解:http://blog.csdn.net/u013243710/article/details/35795841

ROS第一课: http://www.liuxiao.org/2015/11/ros-%E7%AC%94%E8%AE%B01-%E4%B8%80%E4%B8%AA%E6%9C%80%E7%AE%80%E5%8D%95%E7%9A%84%E4%BE%8B%E5%AD%90%EF%BC%9Ahello-robot%EF%BC%88%E6%B6%88%E6%81%AF%E3%80%81%E5%8F%91%E5%B8%83%E8%80%85%E4%B8%8E/

 

http://wiki.ros.org/catkin/CMakeLists.txt

  1. 进入正题

    首先,建立工程,如图所示:

  2. 生成.so

     

  3. 调用.so

    建立文件夹,将两个文件放入进去。

     

    配置CMakeList.txt

     

    测试:

     

    注意:

    1)通过添加到 /usr/lib当中也没用。

     

    2)而且,这里的数字千万不能写错。

    不然会出现 :没有规则可以引用目标等错误。

     

    所有,引用的库一定要写全,是 libxxx.so.

    然后就没啥问题了。

    3)通过添加

    export LD_LIBRARY_PATH=/root/Desktop/aabb

    这句代码在ROS里面也是不起作用的。

ROS库生成和调用的更多相关文章

  1. Linux动态库生成以及调用

    Linux下动态库文件的文件名形如 libxxx.so,其中so是 Shared Object 的缩写,即可以共享的目标文件. 在链接动态库生成可执行文件时,并不会把动态库的代码复制到执行文件中,而是 ...

  2. makefile编写---.a静态库的生成和调用

    #.SUFFIXES: .c .o Cc =gcc #OSA=/data/users/osa IncDir=-I. -I./ Debug = -g Cflags = -c $(DEBUG) Libs ...

  3. vc6静态库的生成和调用

    转自vc6静态库的生成和调用 1.静态库的生成: 在vc6.0++中Ctrl+N选择Projects下的Win32 Static Library,Project name:SumLib,点击OK,下一 ...

  4. Keil中LIB库的作用、生成与调用

    LIB库有什么用,一个简单的例子就是Silicon Labs为C8051F单片机USB提供的USBXpress LIB库了,如USB发送数据.接收数据等,都是通用性很强的函数,但因为保密的原因,这个函 ...

  5. Keil C 里面Lib库文件的生成与调用

    源:Keil C 里面Lib库文件的生成与调用

  6. 嵌入式开发之makefile---交叉编译静态库和动态库的生成和调用

    c和cpp 混合的动态库生成: $(LIBSO): $(COBJS) $(CPPOBJS) $(CPP) -shared -o $@ $^ $(LIBS) ////////////////////// ...

  7. 使用python调用zxing库生成二维码图片

    (1)     安装Jpype 用python调用jar包须要安装jpype扩展,在Ubuntu上能够直接使用apt-get安装jpype扩展 $ sudo apt-get install pytho ...

  8. Android项目中JNI技术生成并调用.so动态库实现详解

    生成 jni方式有两种:一种是通过SWIG从C++代码生成过度的java代码:另一种是通过javah的方式从java代码自动生成过度的C++代码.两种方式下的步骤流程正好相反. 第一种方式:由于需要配 ...

  9. Linux链接库三(C跟C++之间动态库的相互调用)

    http://www.cppblog.com/wolf/articles/74928.html http://www.cppblog.com/wolf/articles/77828.html http ...

随机推荐

  1. 【CString与string转换】不存在从 "LPWSTR" 转换到 "std::basic_string<char, std::char_traits<char>, std::allocator(转)

    原文转自 http://blog.csdn.net/qq_23536063/article/details/52291332 [问题描述] CString cstr: sring str(cstr.G ...

  2. zlib编译不过(Error A2070)解决方法(转)

    原文转自 http://dearymz.blog.163.com/blog/static/2056574200871010027435/ 1.zlib是个很牛的东东,从http://www.zlib. ...

  3. ANDROID开发笔记(二)

    动机: 开发的一个背单词的软件. 不会实现划屏的特性. 方法: 第一步尝试: 在MainActivity中, 增加以下代码后, 如果在视图的空白处点击时, 文本框中的时间就会发生改变. @Overri ...

  4. IOS深入学习(21)之Key-value coding

    http://blog.csdn.net/developer_zhang/article/details/12840567 1 前言 本节我们主要介绍键值编码,以及如何使一个类符合KVC编码. 2 详 ...

  5. kubernetes 搭建集群内服务

    nginx-rc.yaml apiVersion: v1 kind: ReplicationController metadata: name: webapp spec: replicas: 2 te ...

  6. Selenium2+python自动化5-操作浏览器基本方法【转载】

    前言前面已经把环境搭建好了,这从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是w ...

  7. python每日一类(5):itertools模块

    itertools模块包含创建有效迭代器的函数,可以用各种方式对数据进行循环操作,此模块中的所有函数返回的迭代器都可以与for循环语句以及其他包含迭代器(如生成器和生成器表达式)的函数联合使用. ch ...

  8. hdu 5108(数论-整数分解)

    Alexandra and Prime Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (J ...

  9. TP5使用技巧

    1.fetchSql用于直接返回SQL而不是执行查询,适用于任何的CURD操作方法. 例如:$result = Db::table('think_user')->fetchSql(true)-& ...

  10. Logstash 最佳实践

    https://doc.yonyoucloud.com/doc/logstash-best-practice-cn/index.html