2011-08-08 16 views
0

我使用Xcode 3.0編譯使用CFITSIO庫的測試C程序。 以下的建議我遇到了以前的帖子,我已經將CFITSIO作爲通用庫,並且將fitsio.h和libcfitsio.a文件添加到我的項目中。我已經驗證我正在使用正確的版本(x86_64)。我已驗證libcfitsio.a文件位於Target > Link Binary with Libraries選項卡下。我繼續收到以下錯誤。xcode 3.0 - 文件不是必需的架構

以前使用cfitsio創建的項目工程 - 我不是鏈接庫的人。 另外,我可以從終端成功鏈接cfitsio。

有什麼建議嗎?

Building target 「test1」 of project 「test1」 with configuration 「Release」 

Checking Dependencies 

ld /Users/jacqueline/test1/build/test1.build/Release/test1.build/Objects-normal/ppc/test1 normal ppc 
    cd /Users/jacqueline/test1 
    /Developer/usr/bin/gcc-4.0 -o /Users/jacqueline/test1/build/test1.build/Release/test1.build/Objects-normal/ppc/test1 -L/Users/jacqueline/test1/build/Release -L/Users/jacqueline/test1 -L/Users/jacqueline/test1/cfitsio/build/i386 -L/Users/jacqueline/test1/cfitsio/build/ppc -L/Users/jacqueline/test1/cfitsio/build/x86_64 -L/Users/jacqueline/test1/cfitsio/lib -L/Users/jacqueline/test1/cfitsio -F/Users/jacqueline/test1/build/Release -filelist /Users/jacqueline/test1/build/test1.build/Release/test1.build/Objects-normal/ppc/test1.LinkFileList -lcfitsio -arch ppc -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk 
ld: warning in /Users/jacqueline/test1/libcfitsio.a, file is not of required architecture 
Undefined symbols: 

    "_ffopentest", referenced from: 
     _main in main.o 

    "_ffclos", referenced from: 
     _main in main.o 

    "_ffgrec", referenced from: 
     _main in main.o 

    "_ffghsp", referenced from: 
     _main in main.o 

    "_ffrprt", referenced from: 
     _main in main.o 

ld: symbol(s) not found 
collect2: ld returned 1 exit status 

回答

0

看起來好像該庫不是完全通用的。嘗試僅針對其中一種體系結構構建項目(即,分別僅爲ppcppc64i386x86-64)。當(如果)其中一個失敗時,你知道你的庫缺少哪個體系結構,因此你可以用它重新編譯它。 (或者,或者,如果你不打算在該架構上部署,那麼你就不能編譯它,例如,除非你真的從中受益,否則建立PPC 64沒有任何意義,因爲唯一的機器將會運行它是G5電腦,他們會運行普通的老PPC的32位代碼就好了。)

+0

謝謝。我沒有單獨構建每一個 - 我只是按照構建通用庫的說明構建它們,因爲我不知道我需要哪個庫。 – jacqueline

0

一旦我編輯的Xcode

'Project' > 'Edit Project Settings' > 'Architecture' 

不包括競價排名,這似乎在默認情況下是那裏,建立成功。我在Intel Core 2 Duo上運行OSX 10.5.8。

此前我一直在使用cfitsio庫本身的各種版本,並且不改變我的Xcode項目的默認架構。

相關問題