Mac OS-Xで私のプロジェクトを移植しようとしています。GCC 4.6を使用してコンパイルされたOSXアプリケーションをデプロイする
私はC++ 0Xを使って自分のプロジェクトを開発していたので、Xcode(Xcode4でも可)よりも新しいバージョンのGCCが必要でしたので、私はSnow Leopards MacでGCC 4.6をコンパイルしました。
私のプロジェクトはコンパイルされていて、コンパイルしたコンピュータ(OS-X 10.6.7)でも起動しますが、MacBook(OS-X 10.5.8)に転送すると動作しません。
それは以下のエラーを返します。
dyldの:怠惰なシンボル結合に失敗しました: シンボル見つかりません:から参照 __ZNSo9_M_insertImEERSoT_: /Users/zu/Desktop/OgreApp.app/Contents/MacOS/OgreAppを /usr/lib/libstdc++.6.dylib
dyldの::シンボルが見つかりません:から参照 __ZNSo9_M_insertImEERSoT_: /Users/zu/Desktop/OgreApp.app/Contents/MacOS/OgreAppに期待に期待:。 /usr/lib/libstdc++.6.dylib私は、このファイルはC++ 0xの機能が含まれているように、プログラムがのlibstdC++ GCC 4.6.0の6.dylibを必要としていることを理解し
(私の現在のテストでは、通常はOS-Xシステムに標準のlibstdC++。6.dylibの代わりにC++ 0x機能を使用していません)。
だから、私は次のことを試みた:
-isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosxバージョン分を指定する= 10.5 OS-との下位互換性を確保するためにX 10.5。しかし、エラーは同じままです。
- はのlibstdC++コマンドotool -Lを使用してinstall_name_tool -change /opt/local/lib/gcc46/libstdc++.6.dylib @ executable_path /を使用して共有ライブラリのパスを変更する。6.dylibパスを確認するには.. /Libraries/libstdc++.6.dylib OgreApp(libフォルダのgcc 4.6.0 libstdC++。6.dylibのコピーを使用)は、answer of my previous questionとして示唆されています。しかし、エラーは同じままです。
libstdC++とlibgccを静的にリンクするには、-static-libgcc-static-libstdC++を使用します。しかし、それは同じエラーを返します。私のプログラムは、鬼のフレームワークを使用するよう
、私はあまりにもOgre.frameworkに埋め込まれた鬼の実行可能ファイルに上記の操作を適用するが、それは何も変わりません。
私は、標準でないlibstdC++で作成されたアプリケーションを、別のMacコンピュータに以前のバージョンでインストールする方法を誰に教えてもらえませんか?(問題は、Snow Leopardをプログラムとして実行しているコンピュータと同じですGCC 4.6.0 libstdC++を使いますか?
これは、あなたが1週間前に質問した* YOU * Valkeaの質問と全く同じです。 –
[OS-X Leopard(10.5.8)を使用して別のMacでOS-X Snow Leopard(10.6.7)でコンパイルしたアプリケーションを実行できません。 libstdC++ .dylibエラーが返されました。](http://stackoverflow.com/questions/6365772/unable-to-run-an-application-compiled-on-os-x-snow-leopard-10-6-7- on-another-ma) –
これは重複していませんが、これは私がこの質問で示したように他の質問の結果です。私は他のスレッドで提案された答えを中心に研究を行いました。ここで私はこの問題の新しい視点をここに公開します。 – Valkea