2011-07-29 22 views
4

私はAppleのXcodeの完全な初心者ですが、Xcodeのドキュメントといくつかの関連する質問のアドバイスを成功させました。Xcode 4でライブラリをリンクするにはどうすればいいですか?

GMPを/ usr/local/binにインストールし、ライブラリを使用してショートプログラムを作成し、gcc main.c -lgmpでコンパイルしました。それは警告もエラーもなくコンパイルされ、実行ファイルは完璧に動作しました。

新しいXcodeプロジェクト(コマンドラインツール;タイプ:C)を開始し、コードを新しく作成したmain.cにコピーして、プロジェクトビルド設定を開きました。そこから私はリンク>その他のリンカフラグ-lgmpを設定します。検索パス>ライブラリ検索パス/usr/local/bin。ただし、プリプロセッサのエラー「Gmp.h:No such file or directory」でビルドが失敗します。

Iは想像ほぼすべてのヘッダ試みた:

#include "gmp.h"

#include <gmp.h>

#include "gmp"

#include "libgmp.a"を。 。 。

これは私がCを学ぶことを妨げた最後の3ヶ月間の主な障害でした。私を最終的な解決に導く助けがあれば、大歓迎です。

+0

可能な複製[既存のフレームワークを追加する方法はXcode 4で?](http://stackoverflow.com/questions/3352664/how-to-add-existing-frameworks-in- xcode-4) – jww

答えて

8

Xcodeプロジェクトにはいくつか設定する必要があります。たとえば、私は/opt/gmp/5.0.2にgmpをインストールしていますが、これを例として使用します。実際のライブラリは/opt/gmp/5.0.2/libに、ヘッダファイルは/opt/gmp/5.0.2/includeにインストールされています。ライブラリ設定をインストールするときに--PREFIXフラグを/opt/gmp/5.0.2に設定すると、自動的にこれが処理されます。このフラグを設定しない場合、接頭辞は通常デフォルトで/usr/localに設定されます。

  1. 右に見えるその他のリンカフラグ、それはライブラリの名前でなければなりません。
  2. ヘッダー検索パスをインクルードディレクトリに設定します。私のケースでは/opt/gmp/5.0.2/includeです。
  3. ライブラリ検索パスをlibディレクトリに設定します。私のケースでは/opt/gmp/5.0.2/libです。

ヘッダ検索パスが設定されているので、あなたは今、このようなヘッダファイル含めることができる必要があります:あなたはGMPをインストールしたときに使用しPREFIXパスで/opt/gmp/5.0.2を置き換える、もちろん

#include <gmp.h> 

を。

最後に、/usr/local/binにライブラリをインストールしないでください。/usr/localにインストールし、バイナリをbinにインストールし、libのようなライブラリをlibにインストールします。もちろん、どのパススキームもうまくいきますが、通常は/opt/<project-name>/<version-number>をお勧めします。なぜなら、私がインストールしたものをよりよく追跡し、衝突を処理することなく同じライブラリとツールの複数のバージョンを持つことができるからです。

+0

...ビルドが成功しました!私は5分前よりもライブラリやリンカについてもっと知っています。自分のライブラリをすべて自分のフォルダにインストールしましたが、Xcodeで正しいリンカフラグが割り当てられていると、それぞれが完全に動作しているようです。どうもありがとうございます! – Vortico

+0

ねえ! GMPはあなたのために働いていますか?私にとって単純な分割は問題です:http://stackoverflow.com/questions/11037165/which-library-should-i-use-on-osx-for-arbitrary-precision-arithmetic –

+0

gmpライブラリのインストール方法どこからダウンロードする必要がありますか?あなたは私にステップを与えてくれますか?ありがとうございました。 –

2

私は山のライオンユキヒョウから私のシステムを更新し、gmpをインストールする必要がありました。

まず、Xcode CommandLineToolsがインストールされています。

第二に、自作をインストールしました。その後、私はこのトピックのステップを実行しました:https://apple.stackexchange.com/questions/38222/how-do-i-install-gcc-via-homebrew

私の最後のステップでは、同僚のMarcus Karlsson氏によると、xcodeプロジェクトに変更を加えました。 これは最終的に動作しています!非常に大きなありがとうございます:)

+0

これらの手順を説明したり、ここで少なくとも要約してください。リンクが切れた場合、この回答はその価値の大部分を失います。 –

関連する問題