2011-08-08 25 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

ライブラリが完全に普遍的ではないかのように思えます。一度に1つのアーキテクチャだけのプロジェクトを構築してください(つまり、ppcppc64i386、およびx86-64は別です)。そのうちの1つが失敗した場合、ライブラリが失われているアーキテクチャを知っているので、そのライブラリを再コンパイルすることができます。 (あるいは、あなたがそのアーキテクチャに展開するつもりがない場合は、コンパイルすることはできません。たとえば、PPC 64を構築する上での実際のポイントはありません。 G5にあり、そして、彼らはうまく昔ながらPPC 32ビットのコードを実行されます、それを実行します。)

+0

ありがとうございます。私はそれぞれを別々に構築しました。私は、必要なものがわからないので、普遍的な図書館を構築するための手順に従って、すべてを作成しました。 – jacqueline

0

私はデフォルトでそこに見えたPPC、含まないようにXcodeの

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

を編集したら、ビルドが成功しました。私はIntel Core 2 Duo上でOSX 10.5.8を実行しています。

以前は、cfitsioライブラリのさまざまなビルドを使用していましたが、Xcodeプロジェクトのデフォルトアーキテクチャを変更していませんでした。

関連する問題