1

Photoshop プラグインに組み込むことを希望する顧客のために、ライブラリの Mac バージョンをコンパイルしようとしています。詳細情報: 彼のプラグインは CS4 Photoshop SDK に対して構築されています。つまり、Mac OS ベースの SDK は 10.4 である必要があります。私のライブラリは静的なもので、Intel コンパイラ 11.1 でコンパイルされ、ベース SDK も 10.4 に設定されています。

私が作成した小さなテストアプリに対してライブラリをテストしたところ、コンパイルして正常に動作しました(10.5)。私の顧客の環境を複製するために、アプリは gcc でコンパイルされ、10.4 ベース SDK を使用します。私にとっては問題ありませんが、私の顧客は私のライブラリとリンクすることができません。問題は次のとおりです: 未定義のシンボル: "_fputs$UNIX2003"、参照元: libMyLib.a(libm_error.o) の _write_message

ライブラリをgccでコンパイルし、他のすべてのプロジェクト設定を同じにすると、問題なく実行可能ファイルを生成できます。ICLでコンパイルするとすぐに壊れます。ICL 11.1 は 10.4 と互換性がないのでしょうか? Fortran コンパイラ フォーラムで、次の回答を見つけました。( http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/68647/ ) ICL 11.1 は 10.4 で動作しないということですか? 、またはそれが生成するコードが 10.4 で動作しない??

次のページ ( http://software.intel.com/en-us/articles/performance-tools-for-software-developers-compatibility-of-intel-compiler-for-mac-os-x-and-xcode / )、ICL 11.1 は 10.4 と互換性がないとも述べています (これも同じ質問: 互換性とはどういう意味ですか?)。ただ、ICL 10.1と書いてあるので試してみました。しかし、同じ理由で、自分のテスト アプリでさえリンクしません (undefined function$UNIX2003)。

何が問題なのか、それを修正する方法を知っている人はいますか? またはそれを回避する方法はありますか?

前もって感謝します、

PS: 誰かがこれが何を意味するかを知っていればボーナス ポイント: テキストの再配置を有効にするには、「-read_only_relocs suppress」を使用します

4

2 に答える 2

1

したがって、答えは次のとおりです。11.1ではなくICL10.1でコンパイルします。10.1で使用されるIntelライブラリには、$UNIX2003ルーチンへの参照が含まれていません。

それが誰かを助けることを願っています。

A

于 2009-11-03T10:34:13.473 に答える
0

最終的には、Intel から Intel 製品のサポートを受ける必要がありますが、実際に動作する Mac ソフトウェアを販売したい場合は、他の人と同じツールチェーンを使用するだけで、それを忘れる必要があります。

于 2009-10-30T19:29:38.407 に答える