william2014 发表于 2014-6-19 17:28:39

anychat_libvad.a库在xcode6 beta下Link失败问题

anychat_libvad.a库在xcode6 beta下Link失败问题,看下吧:

admin 发表于 2014-6-19 17:44:40

您好,从图片来看,出错不是在libvad.a库中,可以将libvad.a库从工程中直接删除再试试看?

admin 发表于 2014-6-20 16:49:23

您好,请问您是直接编译我们的示例工程出错吗?是哪一个版本的示例工程,AnyChat r4086?

william2014 发表于 2014-6-20 17:02:34

admin 发表于 2014-6-20 16:49
您好,请问您是直接编译我们的示例工程出错吗?是哪一个版本的示例工程,AnyChat r4086?

不是编你们的示例工程,是用了你们SDK在我们的工程代码中,SDK是最新的了。在XCode 5以前的版本,都是OK的,现在更新了Xcode版本,出现错误。刚又试了下,删除你们的libvad.a文件后,的确是有错误,提示如下:
Undefined symbols for architecture i386:
"_fwrite$UNIX2003", referenced from:
      _voAWB_dtx_enc_reset in libvo-amrwbenc.a(dtx.o)
      _voAWB_dtx_enc_init in libvo-amrwbenc.a(dtx.o)
      _wb_vad_reset in libvo-amrwbenc.a(wb_vad.o)
      _wb_vad_init in libvo-amrwbenc.a(wb_vad.o)
      _quant_5p_5N in libvo-amrwbenc.a(q_pulse.o)
      _quant_4p_4N in libvo-amrwbenc.a(q_pulse.o)
      _quant_6p_6N_2 in libvo-amrwbenc.a(q_pulse.o)
      ...
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

admin 发表于 2014-6-21 00:12:08

不是编你们的示例工程在您的环境里面编译我们的标准示例代码是否OK呢?

william2014 发表于 2014-7-4 10:40:51

admin 发表于 2014-6-21 00:12
在您的环境里面编译我们的标准示例代码是否OK呢?

你好,升级了Xcode 6 beta版,按照你们的给的方案试了下,也单独调试了你们的示例工程,问题依然存在,
Undefined symbols for architecture i386:
"_fwrite$UNIX2003", referenced from:
      _voAWB_dtx_enc_reset in libvo-amrwbenc.a(dtx.o)
      _voAWB_dtx_enc_init in libvo-amrwbenc.a(dtx.o)
      _wb_vad_reset in libvo-amrwbenc.a(wb_vad.o)
      _wb_vad_init in libvo-amrwbenc.a(wb_vad.o)
      _quant_5p_5N in libvo-amrwbenc.a(q_pulse.o)
      _quant_4p_4N in libvo-amrwbenc.a(q_pulse.o)
      _quant_6p_6N_2 in libvo-amrwbenc.a(q_pulse.o)
      ...
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

你们的_voAWB_dtx_enc_reset、_voAWB_dtx_enc_init这些方法是在哪里定义的?

admin 发表于 2014-7-4 10:55:48

您好,这是xcode的一个Bug,解决方案如下:
1、添加如下代码到AppDelegate.h:#ifdef DEBUG
    FILE *fopen$UNIX2003(const char *filename, const char *mode);
    size_t fwrite$UNIX2003(const void *ptr, size_t size, size_t nitems, FILE *stream);
#endif2、添加如下代码到AppDelegate.m:#ifdef DEBUG
FILE *fopen$UNIX2003(const char *filename, const char *mode) {
    return fopen(filename, mode);
}

size_t fwrite$UNIX2003(const void *ptr, size_t size, size_t nitems, FILE *stream) {
    return fwrite(ptr, size, nitems, stream);
}
#endif
可参考:
Code coverage with Xcode 4.2 - Missing files
http://stackoverflow.com/questio ... e-4-2-missing-files

Xcode6_beta Build Fix: Undefined Symbols _fwrite$UNIX2003
http://blog.ready4go.com/blog/2014/06/06/xcode6-beta-build-fix/

iOS dev: How to setup quality metrics on your Jenkins job?
http://blog.octo.com/en/jenkins- ... rd-ios-development/


admin 发表于 2014-7-7 10:04:57

您好,请问上面的问题解决了吗?

william2014 发表于 2014-7-8 09:55:19

本帖最后由 william2014 于 2014-7-8 09:56 编辑

呵呵,你们真热心,不过按照你们说的,并没有解决问题,在你们的demo里面直接添加后如附件中图示:

william2014 发表于 2014-7-8 15:37:01

admin 发表于 2014-7-7 10:04
您好,请问上面的问题解决了吗?

呵呵,你们真热心,不过按照你们说的,并没有解决问题,在你们的demo里面直接添加后如附件中图示:

页: [1] 2
查看完整版本: anychat_libvad.a库在xcode6 beta下Link失败问题