2

XcodeでC++コマンドラインツールを構築しています。プロジェクトには、curl、boost、log4cppのdylibが含まれています。

理想的には、10.4から10.6までをサポートするi386ユニバーサルバイナリを構築するのが好きです。

Xcodeをコンパイルできないようです。10.4をターゲットにすると、そのようなファイルやディレクトリがないなどと表示されます。

10.6 x_64をターゲットにすると、ビルドは正常になりますが、10.5 i386は、dylibが10.5の正しいアーキテクチャではないことについて不平を言いますか?

どのバージョンのGCCを使用する必要がありますか?

また、PackageMakerを使用してインストールパッケージを作成する場合、インストーラーはツールに必要なdylibをどこに配置する必要がありますか?

よろしくお願いします、トビー。

4

4 に答える 4

2

サードパーティのライブラリは 10.6 x_64 用にビルドされていたので、10.4 用に再構築する必要がありました。

xcode 3.2 をダウンロードし、インストール プロセス中に「10.4 サポートのインストール」を選択して、10.4u SDK をインストールしました。

10.4u SDK に対して GCC 4.0 で各ライブラリを再構築した後、私のプロジェクトは正常にコンパイルされました。

静的ライブラリも使用したので、インストーラーに含める必要はありません。

于 2010-02-07T16:21:36.087 に答える
0

[プロジェクト]メニューで、[アクティブSDKの設定]を選択し、そこでMac OSX10.4を選択します。

そのSDKを使用してリンクエラーが発生した場合は、10.4用にビルドされていないライブラリを追加した可能性があります。

10.4ライブラリを使用していることを確認してください。たとえば、libcurlは次の場所にあります。

/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/libcurl.dylib

あなたはおそらくとリンクしています

/usr/lib/libcurl.dylib

これは、実行中のOSのバージョンになります(10.6と想定しています)

于 2010-02-06T17:04:17.403 に答える
0

10.4 SDK と gcc 4.0 を選択するだけで、10.4 以降で実行できる実行可能ファイルを 1 つビルドできます。

于 2010-02-06T14:14:26.610 に答える
0

ライブラリはおそらく X86_64 用にのみビルドされています。ライブラリをユニバーサル バイナリとして再コンパイルする必要があります。

編集: 10.4 SDK を使用します。

于 2010-02-06T14:28:05.943 に答える