昨天接到的任务,编译64位和32位两个版本的.so动态库给其他部门,我的ubuntu虚拟机是64位的,编译32位时遇到了问题:

  /usr/bin/ld: cannot find -lstdc++

  最后在stackoverflow上看到了解决方案(安装multilib,我的源程序既有c又有cpp,所以只好gcc和g++都装了):

  sudo apt-get install gcc-multilib

  sudo apt-get install g++-multilib

  然后再 gcc -I./include *.c *.cpp -m32 -fPIC -shared -o xxxx.so -lstdc++

  需要注意的是,若在程序中引用32位库,则该程序也必须编译成32位可执行文件:

  g++ -o testso -m32 -fPIC test.c -L -lxxxx -ldl(根据.so情况不同,这里也可以是gcc,注意-fPIC不会出错)

  因为我的test.c中调用了刚才生成的动态库 xxxx.so,所以加了-ldl

  另,在CentOS下,安装g**multilib就需要不同的命令了,安装的包也跟系统版本有关,可以先运行lsb_release -a查看一下自己的版本,然后运行:

  CentOS/RHEL 5.x

yum -y install glibc-devel.i386 libstdc++-devel.i386

  CentOS/RHEL 6.x

  

yum -y install glibc-devel.i686 libstdc++-devel.i686

  

最新文章

  1. 在知乎上看到 Web Socket这篇文章讲得确实挺好,从头看到尾都非常形象生动,一口气看完,没有半点模糊,非常不错
  2. java后台对前端输入的特殊字符进行转义
  3. [原创]cocos2dx加载网络图片&异步加载图片
  4. vs2013的单元测试 第一部分
  5. YHLMR009 交货单查询
  6. rsync无密码实时增量同步
  7. 解决treeview未选中时,默认选中首个根节点的问题!
  8. php xml 互相转换
  9. php 删除语句
  10. [zz]android的logcat详细用法
  11. db2数据库中查找数据库表
  12. 排序功能实现 jQuery实现排序 上移 下移
  13. uva12589
  14. powder designer 转数据库
  15. Tokumx 代替 Mongodb 群集部署
  16. iOS纯代码工程手动快速适配
  17. 201521123023《Java程序设计》第9周学习总结
  18. 部署 Graylog 日志系统 - 每天5分钟玩转 Docker 容器技术(92)
  19. VB 读取列表文件名
  20. 使用jfreechart生成柱状图、折线图、和饼状图

热门文章

  1. 电脑查询pico的mac
  2. Spring入门(九):运行时值注入
  3. Vector使用方法简单整理
  4. 自定义GroupBox
  5. caddy(四)Run详解
  6. Linux expect 介绍和用法
  7. ionic 页面动画 ngAnimate
  8. HDU 4417
  9. Condition控制线程通信
  10. 【数据结构】10.java源码关于LinkedHashMap