响应2月底appstore 64位APP的上线要求,开始编译IOS arm64版本引擎库。
编译arm64遇到一些问题,在此记录。

1. 数据类型的错误 __int64 相关,提示error: expected  ';' after top level declarator
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
改为
typedef long long int64_t;
typedef unsigned long long uint64_t;
其中:
__int64为微软MSVC定义的数据类型,long long为C99定义的数据类型。
相关说明可参看blog http://blog.csdn.net/shiwei408/article/details/7463476

2. 隐式声明函数报错
error: implicit declaration of function 'SynthesisPolyphaseFiltering' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
其中
void SynthesisPolyphaseFiltering() 定义在另外一个.c文件中,并没有在相应的.h头文件声明。
经网友们帮忙,应该是gcc默认带参数-Werror=implicit-function-declaration,将警告
implicit-function-declaration做为error处理。
解决方法:
a. 如果函数定义在头文件中,将头文件引入 #include "XXX.h"
b. 如果是直接定义在.c文件中的隐式声明,
在引用的.c文件中添加 extern void SynthesisPolyphaseFiltering();
或者 通过编译选项,禁用这个警告
-Wno-error -Wno-implicit-function-declaration

3. has no symbols 提示
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/libtool: for architecture: armv7 file: libaacdec_armv7.a(ad_lt_predict_armv7.o) has no symbols

$ nm ad_lt_predict_armv7.o 提示 no name list

看一下源文件ad_lt_predict.c 发现整个.c文件 定义在 #ifdef LTP_DEC 下
而我的编译选项没有使用LTP_DEC。这样看来当然不会编译进来了,在编译选项中去掉这个c文件。

编译arm64错误记录的更多相关文章

  1. 编译Uboot——错误记录

    我使用的是ZLG的EasyARM i.MX280A的开发板.官方提供的编译器时arm-fsl-linux-gnueabihf(gcc 4.4.4).自己尝试使用arm-linaro-linux-gnu ...

  2. Maven编译错误记录:Some Enforcer rules have failed

    一.错误信息 添加httpclient与httpcore依赖后编译Maven报错. 错误信息如下: Failed to execute goal org.apache.maven.plugins:ma ...

  3. 开发错误记录8:Unable to instantiate application com

    开发错误记录8:Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication 这是因为在And ...

  4. uploadify插件Http Error(302)错误记录(MVC)

    由于项目(asp.net MVC)需要做一个附件上传的功能,使用的是jQuery的Uploadify插件的2.1.0版本,上传文件到自己项目指定的文件夹下面.做完之后,在谷歌上测试是正确的,在火狐上报 ...

  5. PHP 错误与异常 笔记与总结(5)配置文件中与错误日志相关的选项 && 将错误记录到指定的文件中

    [记录错误(生产环境)] php.ini: ① 开启 / 关闭 错误日志功能 log_errors = On ② 设置 log_errors 的最大字节数 log_errors_max_len = 其 ...

  6. 安装nagios出现的两个错误记录

    最近在安装nagios,出现几个错误记录: 一 检查nagios配置的时候出现错误如下: Warning: Duplicate definition found for host 'kelly' (c ...

  7. jasperreport报表生成时编译的错误

    在帮徐老板解决一个jasperreport报表生成时编译的错误: 刚开始时,加上他所给的 jar 包之后,错误显示为: net.sf.jasperreports.engine.JRException: ...

  8. PHP编译安装时常见错误解决办法,php编译常见错误

    PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...

  9. [置顶] 利用Global.asax的Application_Error实现错误记录,错误日志

    利用Global.asax的Application_Error实现错误记录 错误日志 void Application_Error(object sender, EventArgs e) { // 在 ...

随机推荐

  1. 盘点PHP编程常见失误

    概述:本文盘点PHP开发者在编码时,容易忽略或不注意引起的小失误与错误. 变量声明 如果在一条语句中声明一个变量,如下所示:$var='value';编译器首先会求出语句右半部分的值,恰恰正是语句的这 ...

  2. redhat6和ubuntu13.10在WMware player 下与Windows共享文件

    Redhat下: 点击VMware的 setting -> vmware tools install mount /dev/cdrom /mnt/cdromcd /mnt/cdrom里面有一个v ...

  3. OSI七层协议

  4. Ubuntu 12.04搭建MTK 6577 安卓开发环境

    Ubuntu 12.04搭建 MTK 6577安卓开发环境 1.       下载并安装Vmware虚拟机: 2.       下载并在虚拟机上安装Ubuntu 12.04 iso 安装包:下载地址: ...

  5. BootStrap图标

  6. vs2013编译boost库

    打开vs2013>>visual studio tools>>VS2013 x64 本机工具命令提示 cd D:\lib\boost_1_55_0\boost_1_55_0 b ...

  7. busybox filesystem add ldd function

    /******************************************************************** * busybox filesystem add ldd f ...

  8. 省常中模拟 Test3 Day1

    tile 贪心 题意:给出一个矩形,用不同字母代表的正方形填充,要求相邻的方块字母不能相同,求字典序(将所有行拼接起来)最小的方案. 初步解法:一开始没怎么想,以为策略是每次填充一个尽量大的正方形.但 ...

  9. 转载RabbitMQ入门(1)--介绍

    目录[-] "Hello World" (使用java客户端) 发送 接收 把所有放在一起 前面声明本文都是RabbitMQ的官方指南翻译过来的,由于本人水平有限难免有翻译不当的地 ...

  10. Oracle alter index rebuild 与 ORA-08104 说明

    在ITPUB 论坛上看到的一个帖子,很不错.根据论坛的帖子重做整理了一下. 原文链接如下: alter index rebuild online引发的血案 http://www.itpub.net/t ...