3

Snow Leopard にアップグレードした後、コンピューターで Eclipse CDT プロジェクトを実行できなくなりました。ビルド プロセスはエラーなしで完了しますが、Eclipse は作成したバイナリ ファイルを認識しません。[ Run Configuration.. ] ダイアログでバイナリ ファイルを指定しようとすると、プロジェクト内にバイナリが見つかりません。ターミナルからファイルを実行しても問題なく動作します。

Eclipse フォーラムの投稿によると、これは Mach-O パーサーが 64 ビット バイナリを認識しないことが問題である可能性があります。Snow Leopard で C++ プロジェクトを実行/デバッグできるように、問題の解決策または回避策を知っている人はいますか?

更新しました

Shaneによって提案された解決策は、作成されたバイナリを認識できるようにしますが、別の問題を引き起こします。Snow Leopard のシステム ライブラリはすべて 64 ビットであるため-arch i386、これらのライブラリで作成されたコードをリンクすることはできなくなりました。したがって、まだ実現可能なソリューションではありません。

4

5 に答える 5

3

参照した投稿によると、プロジェクトのコンパイラとリンカーの設定に -arch i386 を追加する必要があります。その後、プロジェクトを再構築すると、CDT が実行可能ファイルを取得します。

プロジェクトのプロパティ -> C/C++ ビルド -> 設定。次に、コンパイラとリンカーのその他のセクションで、その他のフラグにフラグを追加します。

乾杯、

于 2009-09-21T03:22:54.987 に答える
2

Eclipse のバイナリ パーサーは、新しい 64 ビット Mach-O バイナリ フォーマット ( https://bugs.eclipse.org/bugs/show_bug.cgi?id=270790 ) を認識するように更新されていないため、現在のところ唯一の回避策のようです。コードを 32 ビット モードでコンパイルします。

その結果、C/C++ プロジェクトをシステム ライブラリにリンクすることはできません。これは、それらのほとんどが既に 64 ビットとしてコンパイルされているためです。

今のところ私の解決策は、一時的に XCode に切り替えることです。

于 2009-09-30T01:20:33.770 に答える
1

新しい Mach 64 ビット バイナリ パーサーがついにリリースされました。

Eclipse で更新を行い、プロジェクトのプロパティで新しいバイナリ パーサーを選択しました。ようやく Eclipse 内から C++ バイナリを実行できるようになりましたが、何らかの理由でまだデバッグに苦労しています。

于 2010-03-21T04:38:12.257 に答える
1

マット、

新しいアーキテクチャには新しい汎用レジスタも含まれているため、64 のバイナリは異なります。バイナリで表示されるオペコードに影響を与えるアーキテクチャには、さらに多くの違いがあります。

乾杯、シェーン

于 2009-09-21T10:34:58.037 に答える
0

前に知っていたように、バイナリパーサーは [プロジェクトのプロパティ -> C/C++ ビルド -> 設定] にあります。でも変わったと思います。

この方法でバイナリパーサーを見つけることができました:[eclipse -> environment -> C/C++ -> New C/C++ Project Wizard -> makefile project -> binary parsers -> mach-O parser (Deprecated)]

于 2016-11-01T07:33:49.593 に答える