公司以opus开源库。因此,我们遇到了一些问题。

我将新下载的opus1.1替换掉老版本号之后,单独编译opus没问题。但是编译相关的文件就会报错。

错误信息例如以下:

g++ -Wall -fPIC -shared libusc_jni.o libusc.a ../api/libopus.a ../api/libspeex.a ../api/libamrnb.a ../api/libpcre.a -o libusc_jni.so -L. -lusc
/usr/bin/ld: ../api/libopus.a(celt.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
../api/libopus.a: could not read symbols: Bad value
collect2: ld 返回 1
make: *** [libusc_jni.so] 错误 1

好奇怪啊!搞了半天,发现是opus的问题!

。我还以为是别的文件的问题!

百度原因,是由于Makefile文件没有兼容64导致的,但是Makefile是通过configure自己主动生成的啊。看了configure源代码,发现系统位数是自己主动检測的。并没有什么參数能够进行传递,所以仅仅得手动改动了Makefile。找到 CFLAGS 所在的那一行,然后在末尾加上 :

-fPIC

又一次编译,make之前记得make clean一下!问题搞定!

版权声明:本文博主原创文章,博客,未经同意不得转载。

最新文章

  1. http://detectmobilebrowsers.com/
  2. Oracle用户密码过期和用户被锁解决方法
  3. CSRF防御之ASP.NET MVC
  4. 四个使用promise的语句之间的不同点在哪儿?
  5. 便捷的php操作mysql库MysqliDb
  6. 通过IP获得IP所在地的三个接口
  7. atexit注册的函数是在main函数之后执行?
  8. 用PHP生成随机数的函数(代码示例)
  9. 关于django Models的个人理解和related_name的使用
  10. js~fancybox为我们提供的iframe功能
  11. jquery选择器专题
  12. 内联汇编和JMP到内联函数注意事项
  13. 为什么要采用外部js文件
  14. Python(五)编程小实例
  15. 花了一年时间开发的弯管机YBC编程软件
  16. SQL-三级分类查询
  17. 阿里云maven仓库配置
  18. Spring MVC深入学习
  19. 在 Android 的文字编辑控件 (TEdit) 中, 如何按下 Enter 就隐藏虚拟键盘
  20. docker基本概念

热门文章

  1. vue-cli 构建vue项目
  2. LA 3135 - Argus
  3. Geodatabase模型
  4. Android(Lollipop/5.0) Material Design(四) 创建列表和卡片
  5. 两个常见Qt编译错误的解决
  6. iOS开发RunnLoop学习二:GCD中的定时器
  7. Lucene学习总结之四:Lucene索引过程分析 2014-06-25 14:18 884人阅读 评论(0) 收藏
  8. Best Practices for QML and Qt Quick
  9. 什么是uuid以及uuid在java中的使用
  10. ### Hibernate中的事务与并发 ###