10.24的注意事项——解决linux_jni编译错误的问题
公司以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一下!问题搞定!
版权声明:本文博主原创文章,博客,未经同意不得转载。
10.24的注意事项——解决linux_jni编译错误的问题的更多相关文章
- 解决java编译错误:编码GBK的不可映射字符
新建java文件,存储时Encoding选择了UTF-8, 由于语句中包含中文,javac编译时报错,提示"编码GBK的不可映射字符": 解决办法: 1.使用javac -enco ...
- Delphi 10.3 Rio + iOS 12.1 SDK 编译错误 "libcharset.1.dylib"
环境版本: Delphi 10.3 Rio iOS 12.1 SDK Xcode 10.1 (10B61) 错误讯息:[DCC Error] E2597 ld: file not found: /us ...
- 解决java编译错误:编码 GBK 的不可映射字符 (0x8C)
1. 问题概述: 程序很简单,打印一行字:你好,世界 (使用的工具是:win10自带的记事本.java的jdk:java development kit) 但是在打开终端进行编译时,报出了一个错误:编 ...
- 微信小程序(10)--开发者工具更新以后wxss编译错误
更新最新版微信开发者工具后,出现下面报错: 解决办法: 1.在控制台输入openVendor() ,确定Enter: 2.清除里面的wcc.exe wcsc.exe : 3.重启开发者工具
- 解决Cocos2d-x编译错误: 无法打开 源 文件 "extensions/ExtensionExport.h"
#include "base/ccMacros.h"
- eclipse编译错误
ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2 JDWP exit error AGE ...
- Eclipse Xml编译错误Referenced file contains errors - spring-beans-4.0.xsd
本文转自:http://josh-persistence.iteye.com/blog/2125420 在eclipse中,有时候在xml文件中,特别是于Spring相关的配置文件中,会出现一些不影响 ...
- 总结解决 Android-Studio 编译耗时(好久、太长)问题
首先通过搜索有关Android-Studio 编译耗时(好久.太长)问题的博客,速度确实有所改善. 一.暂时解决 Android-Studio 编译耗时(好久.太长)问题 本文链接:https://b ...
- VS2010出现FileTracker : error FTK1011编译错误的解决办法
VS2010出现FileTracker : error FTK1011不知道是不是vs2010的一个bug,反正有人提交了. FileTracker : error FTK1011编译错误的解决办法有 ...
随机推荐
- Ansible 部署
环境: vim /etc/hosts 192.168.199.61 Ansible 192.168.199.60 Nginx1192.168.199.62 Nginx2192.168.199.63 H ...
- [Node] Run Local DevDependencies from the Command Line with npx
In the past, you've needed to either write a package.json script or use the node_modules/.bin direct ...
- [PReact] Integrate Redux with Preact
Redux is one of the most popular state-management libraries and although not specific to React, it i ...
- 使用vue-cil搭建项目
原文: 简书原文:https://www.jianshu.com/p/1af9b72cf86e 大纲 1.安装NodeJs 2.安装vue-cli 3.创建项目 4.启动项目 5.打包项目 6.项目实 ...
- [RxJS] Replace zip with combineLatest when combining sources of data
This lesson will highlight the true purpose of the zip operator, and how uncommon its use cases are. ...
- [CSS] Target Positional Elements Using *-Of-Type CSS pseudo-classes
Learn how to target elements based on their position inside of a parent element in relation to its s ...
- mycat server.xml 配置文件详解
<?xml version="1.0" encoding="UTF-8"?> <!-- - - Licensed under the Apac ...
- 小强的HTML5移动开发之路(47)——jquery mobile基本的页面框架
一.单容器页面结构 <!DOCTYPE html> <html> <head> <title>Jquery mobile 基本页面框架</titl ...
- HDU 5072 Coprime (单色三角形+容斥原理)
题目链接:Coprime pid=5072"> 题面: Coprime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- Java中a=a+b 与 a+=b差别
一般觉得a=a+b的运行效率是低于a+=b的,由于它多进行了一步中间变量的操作,并且会多占用一个变量的空间.而Java编译器默认对其进行了优化,优化之后两条语句都当做 a+=b来运行了,所以实际上是没 ...