Objective-Cクラスを含むダイナミックライブラリを基本的にロードできるようにするコマンドライン実行可能ファイルがあります。プロジェクト設定では、自分のプログラムがガベージコレクションをサポートしていないことを指定しました。この目的のために、NSBundle
よりもグローバルに柔軟なライブラリをロードするために、ライブラリをロードするのにdlopen
を使用します(最初にオフにし、最も重要なことはバンドルにないライブラリをロードすることができます)。しかしGCedライブラリを単にサポートしているプログラムから読み込むことは可能ですか?
、私はがガベージコレクション、dlopen
が失敗し、私はこのメッセージを取得する必要があり、ライブラリやフレームワークロードしよう:
開くことができません/パス/に/オブジェクト:のdlopen(/パスを/ to/lib、2):いいえ 適切なイメージが見つかりました。見つけました:
/パスを/に/ libに:私のプログラムは、ガベージコレクションをサポートしている場合、なぜそれが必要なライブラリをロードすることはできません
GC機能の不一致?どのようにそれを必要とするライブラリを読み込むことができますか?
にはガーベッジコレクションが必要なため、実際に実行可能ファイルにフラグを立てることはできません。ガベージコレクションをサポートしていないライブラリでは動作しなくなるためです。
私は実行可能ファイルのバージョンが2つありますが、それはサブパネルです。
その他の情報:私はマウンテンライオンのみを対象としています。私のプログラムはユニバーサルバイナリであり、現在はposix_spawn
関数を使用して32ビットのカウンターパートとして再起動を処理しますが、ガベージコレクションを制御するフラグは存在しないようです。
xcodeをこのコードで更新する方法を教えてください。このコードはどこに追加すればよいですか?ありがとう。 – revolutionkpi