这个错误是分不同的平台以及编译器的版本:
不同平台的编译选项为:
arm平台:
./configure --host=arm-linux --disable-shared --enable-static CC=arm-hisiv100nptl-linux-gcc CXX=arm-hisiv100nptl-linux-g++ --prefix=/qy_work/a3518_v080_develop/hi_test/mp4/pcm_aac/pack_tgz/joseph_lib/arm
./configure --host=arm-linux --disable-shared --enable-static --with-mp4v2 CFLAGS=-O2 CC=arm-hisiv100nptl-linux-gcc CXX=arm-hisiv100nptl-linux-g++ --prefix=/qy_work/a3518_v080_develop/hi_test/mp4/pcm_aac/pack_tgz/lib_joseph/arm
x86平台:
./configure --disable-shared --enable-static --prefix=/qy_work/a3518_v080_develop/hi_test/mp4/pcm_aac/pack_tgz/joseph_lib/x86
./configure --disable-shared --enable-static CFLAGS=-O2 --with-mp4v2 --prefix=/qy_work/a3518_v080_develop/hi_test/mp4/pcm_aac/pack_tgz/lib_joseph/x86
faac源码编译后运行cmd示例:
./faac -P -R 8000 -B 16 -C 1 -X -o nemozhu.aac nemozhu.pcm
目录:"./common/mp4v2/mpeg4ip.h"
我的整体修改如下:
{
/*alter by kj*/
#ifdef JOSEPH_X86
#ifdef __cplusplus
extern "C++" {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
#else
#ifdef __cplusplus
extern "C" {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
#endif
/*end alter by kj*/
}
在x86平台如果出现错误根据错误进行如下修改:
编译FAAC-1.28时遇到错误:
mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’
解决方法:
从123行开始修改此文件mpeg4ip.h,到129行结束。
修改前:
#ifdef __cplusplus
extern "C" {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
修改后:
#ifdef __cplusplus
extern "C++" {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
在arm平台如果出现错误根据错误进行如下修改: