2011-04-27 67 views
0

所以我想在Objective-C,iPhone项目中使用C库。当我尝试编译我得到这个连接错误:XCode中的C库的链接问题 - 文件是针对不支持的文件格式构建的,而不是所链接的体系结构

file was built for unsupported file format which is not the architecture being linked (i386)

我使用创办这家图书馆的标准

的./configure 使

我应该建立这个与iPhone使用哪个架构项目?谢谢! 更新

我更新了Makefile并将-arch i386添加到CFLAGS行。当我运行make我现在这样得到这个错误:

Compiling spammer.c gcc -o spammer spammer.o ../src/libircclient.a -lpthread ld: warning: in ../src/libircclient.a, file was built for unsupported file format which is not the architecture being linked (x86_64)

这是否意味着我需要修改的地方生成文件的另一个?

回答

1

它可能是为默认的x86_64构建的。您需要修改库,以便为i386编译并匹配您的应用程序。

通常,您可以通过在运行configure之前将CFLAGS环境变量设置为-arch i386来完成此操作。尽管如此,一定要先做一次“让dist干净”。如果这不起作用,你也可以在配置完成后手动编辑Makefile并将-arch i386添加到CFLAGS =行。

+0

请尽快尝试。谢谢(你的)信息! – Nick 2011-04-27 15:09:00

+0

尽管我用CFLAG -arch i386设置图库似乎链接时出现错误 – Nick 2011-04-28 03:30:54

0

此错误:创建示例时

Compiling spammer.c gcc -o spammer spammer.o ../src/libircclient.a -lpthread ld: warning: in ../src/libircclient.a, file was built for unsupported file format which is not the architecture being linked (x86_64) 

来了,这不是你真正想要什么权利?

使用-arch i386或-arch arvm7进行SRC文件夹中的make操作即可。

相关问题