Start compiling the iOS arm64 version Engine Library in response to the AppStore 64-bit app at the end of February.
Compiling arm64 encounters some problems with this record.
1. Data type error __INT64 related, hint missing; semicolon
typedef __int64 INT64_T;
typedef unsigned __INT64 uint64_t;
Switch
typedef long Long int64_t;
typedef unsigned long long uint64_t;
which
__int64 the data type defined for Microsoft Msvc, long Long is the data type defined by C99.
For more information, see blog http://blog.csdn.net/shiwei408/article/details/7463476
2. Implicitly declaring the function as an error
Error:implicit declaration of function ' synthesispolyphasefiltering ' is invalid in C99 [-werror,- Wimplicit-function-declaration]
which
void Synthesispolyphasefiltering () is defined in another. c file and is not declared in the corresponding. h header file.
By the Netizen help, should be gcc default with parameter-werror=implicit-function-declaration, will warn
Implicit-function-declaration as error handling.
Workaround:
A. If the function definition is in the header file, introduce the header file into the #include "XXX.h"
B. If you are directly defining an implicit declaration in a. c file,
Add the extern void Synthesispolyphasefiltering () in the referenced. c file;
Or, by compiling the option, disable this warning
-wno-error-wno-implicit-function-declaration
3. has no symbols hint
/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 hint No Name list
Take a look at the source file ad_lt_predict.c found the entire. c file defined under #ifdef LTP_DEC
And my compile option doesn't use LTP_DEC. It's certainly not compiled in this way.
Compiling arm64 Error Records