2011-04-27 70 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操作即可。

相關問題