我在運行GCC 4.7.2的Mac OS X 10.8.2工作站上通過MacPorts獲取。我可以用此設置構建64位(x86_64
)應用程序。在x86_64(64位)Mountain Lion上構建i386(32位)應用程序
我試圖通過將-arch i386
添加到編譯標誌來從源構建一個32位二進制文件。我想在10.5和10.6上添加對32位客戶端的支持。
我得到這似乎有關缺少32位庫以下錯誤信息(其中包括):
ld: warning: ignoring file /opt/local/lib/gcc47/libgcc_ext.10.5.dylib, missing required architecture i386 in file /opt/local/lib/gcc47/libgcc_ext.10.5.dylib (1 slices)
ld: warning: ignoring file /opt/local/lib/gcc47/gcc/x86_64-apple-darwin12/4.7.2/libgcc.a, file was built for archive which is not the architecture being linked (i386): /opt/local/lib/gcc47/gcc/x86_64-apple-darwin12/4.7.2/libgcc.a
我的問題是:
是否有不同的標誌我應該使用這個,而不是
-arch i386
?或者,我可以從哪裏獲得(或者如何編譯)我需要安裝的
i386
庫,以獲得32位支持?
(我可以編譯i386
架構庫從網上下載GCC 4.7.2源?是否有一個選項組特定的我要補充到./configure
語句來實現這一點?)
一旦這些庫被安裝,我目前的gcc安裝程序如何「知道」這些庫的位置?
有什麼我可以通過Xcode 4.5.2添加?我已經在命令行上執行了這個操作,但我只能在首選項小程序中看到「命令行工具」和iOS模擬器作爲下載選項。
事實證明,Clang/LLVM的C++支持並不完整,所以如果我嘗試使用這些工具,我的代碼庫就會崩潰。它看起來像Xcode不在。有沒有辦法引導GCC 4.7.2添加'i386'支持? –