Windows 7、Eclipse CDT、Juno Service Release 2、クロスコンパイラ。
プロジェクトは生成された実行可能ファイルをコンパイルしますが、Eclipseはそれらを見ることができません。したがって、「実行」は失敗します。実行可能ファイルは、デバッグディレクトリに配置されます。コンパイルされた実行可能ファイルでのダブルクリックまたはコマンドプロンプト呼び出しは問題なく動作します。
これをどのように解決できますか?
私は解決策を見つけたと思います-Eclipseが実行可能ファイルを認識できるように、適切なバイナリパーサーを選択する必要があります:
プロジェクトを選択して右クリックします。プロジェクト->プロパティ-> C/C++ビルド->設定->バイナリパーサー、PE Windowsパーサー。
つまりCygwinコンパイラを使用する場合は、Cygwinパーサーを使用する必要があります。
少なくともクロスコンパイラ(Windows 7とUbuntu 12.04の両方)ではうまくいきました。 Linuxでは、Elfパーサーを使用します。
誰かがより良い解決策を持っているなら、アドバイスしてください。
これは私に起こり、私は解決策を見つけました、これがあなたのために働くかどうか見てください:
ハンマーアイコンを使用してプロジェクトを構築したら、次の手順を実行します。
その後、必要なだけプロジェクトを実行できるようになります。
うまくいけば、これはあなたのために働く。
プロジェクトを選択して、 CTRL + B。
ctrl + Bを押すと、[実行]ボタンを使用できます。
価値のあることには、この問題がありました-そして、原因は、選択したプロジェクトのバイナリのDWARF 3情報が無効だった(実行可能なバイナリがなかった)ことです。
動作方法は次のようなものでした。2つのプロジェクトMain
とLibrary
がありました。 Main
はLibrary
プロジェクトに依存しており、前者には実行可能ファイルがあり、後者には静的ライブラリ(Main
がリンクされている)が生成されただけです。
次のように、実行オプションが「実行/デバッグ->起動」に設定され、「現在の起動、それ以外の場合は最後」に設定されました(右下を参照)。
Main
プロジェクトを選択した場合、すべてが正常に機能します。メインプロジェクトが起動します。 Library
プロジェクトを選択していた場合1 OPによって指定されたエラーメッセージで失敗します。 Library
プロジェクトが選択されているため、PEスキャナーはプロジェクト内のバイナリファイルをスキャンして起動可能なファイルがあるかどうかを確認し、スキャンが失敗したため これによりbug 「以前に起動したアプリケーションを起動」する前にエラーメッセージがポップアップしました。
私はそれを回避することができました:
1 通常、プロジェクトを直接選択することはありません。もちろん、含まれているソースファイルの1つで作業しているため、間接的に選択されます。
私の経験では、プロジェクトをビルドした後(CTRL+B
)、メインツールバーのRun
またはDebug
ドロップダウンメニューで実行(またはデバッグ)構成を作成する必要があります。次に、メインページで、
Search Project...
ボタン。
これにより、ビルドしたすべての実行可能ファイルが検索され、ダイアログボックスに表示されます。あなたは正しいものを選択してから、実行を押すことができます(または
ビルドが成功し、「Launch Binary not Found」エラーが発生した場合。次の手順を実行してください。
[実行]-> [実行構成]-> [C/C++アプリケーション]-> [project_name debug]をクリック-> [参照]をクリックしてプロジェクトファイルを選択-> [Ok-> Eclipseワークスペースに移動し、プロジェクトファイルを選択します-> 2つのファイルがあります1.デバッグ2.Src->デバッグファイルをクリックします->次に、プロジェクト名のファイルをクリックし、OKを押します)->適用をクリックします実行ボタンを押します。
これで問題が解決するはずです
フォルダー名に.c拡張子が含まれていないことを確認してください。フォルダー名の.c拡張子を削除すると、自動的に機能しました。
Eclipse 3.8.1でも同じ問題があります。私にとっては、成果物タイプを実行可能に設定するために働きました:
プロジェクトを右クリック-> C/C++ Build-> Settings-> Build Artifact-> Artifact Type:Executable
最後にプロジェクトを再構築すると、Project ExplorerにBinariesエントリが作成されました。
コードを実行するときは、MinGWコンパイラーをクリックする必要があります。これを行わないと、起動失敗バイナリが見つからないというエラーが発生します。
ここですべてを試した後、Eclipseに実行許可を付与することでした:
cd Eclipse-installation-dir
Sudo chmod +x Eclipse
Ubuntu 12.04 LTSでEclipse Lunaを使用します。