我已将ffmpeg和SDL库导入到我的Xcode项目中,以用于Cocoa应用程序。 当我的项目只包含Cocoa类时,我的项目使用这些库构建并成功运行,但是当我在项目中包含C文件时,构建失败,出现一个警告和35个错误:
警告是:
ld: warning: in /Developer/SDKs/MacOSX10.6.sdk/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
和错误:
"___gedf2", referenced from:
_eval_expr in libavcodec.a(eval.o)
_quantize_lpc_coefs in libavcodec.a(lpc.o)
_rc_2pass2_before in libxvidcore.a(plugin_2pass2.o)
"___ledf2", referenced from:
_qp2bits in libavcodec.a(ratecontrol.o)
_get_qscale in libavcodec.a(ratecontrol.o)
"___umodsi3", referenced from:
_vorbis_parse_setup_hdr_codebooks in libavcodec.a(vorbis_dec.o)
_vorbis_parse_setup_hdr_codebooks in libavcodec.a(vorbis_dec.o)
为了运行代码,这些是配置设置:
此外,相同的代码在我的其他系统Mac Mini上使用相同的设置成功构建并运行。
如果有人知道我错过了什么,请帮忙。感谢。
答案 0 :(得分:2)
仔细阅读错误消息(强调我的):
ld:警告:在/Developer/SDKs/MacOSX10.6.sdk/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a,文件是为不支持的文件格式,不是链接的体系结构( x86_64 )
看起来你正在以某种方式混合PowerPC和英特尔库。您正在为x86_64进行编译,但是您正在为PowerPC选择libgcc.a
。
带有所有前导下划线的那些符号可能应该来自libgcc.a
,但您没有链接libgcc.a
的x86_64版本,因此它们在行动中失踪并且随后出现混乱。听起来像你的xcode配置中的东西很混乱。