6

libtoolでビルドされた大規模なc++プロジェクトがあります。問題は、eclipseがlibtoolで生成されたスクリプトを実行せず、「プログラムは認識された実行可能ファイルではありません」というメッセージが表示されることです。エラーメッセージ。Eclipseデバッガーを使用するにはどうすればよいですか?私は現在、kdevelop3をエディターとして使用しており、洞察力を持ってデバッグしています。これは恐ろしいことです。

プロジェクトディレクトリの./libsにある実際の実行可能ファイルを実行することもできますが、LD_LIBRARY_PATHなどを手動で設定する必要があります...これを行うためのより良い方法が必要です。

どんな助けもいただければ幸いです!

4

5 に答える 5

2

実行可能ファイルの代わりにスクリプトを実行することは、Eclipseではまだサポートされていません。このバグを参照してください。この機能が導入されるまで、Eclipseでlibtool対応のプロジェクトをデバッグすることはできません。

    path/to/configure --disable-shared

個別の構成。したがって、デバッグ目的でのみ静的リンクに依存します。

それをするために、あなたは

  1. Project|Propertiesトップメニューから開く

  2. Autotools|Configure Settingsウィンドウの左側のメニューから選択します

  3. (オプション)専用のビルド構成を作成しますC/C++ Build|Builder Settings|Build location

  4. の下configure|Advancedに、「追加のコマンドラインオプション」を入力します--disable-shared

于 2012-04-21T15:27:39.620 に答える
2

libtoolスクリプトの代わりに実際の実行可能ファイルを実行することで、この問題を回避できます。実行可能ファイルは通常、にあります.libs/。したがって、メインタブのデバッグ構成で、の値をのC/C++ Applicationようなものに設定します.libs/my_applicationLD_LIBRARY_PATH次に、デバッグ構成内で更新を行う必要があります。

デバッグ構成の[環境]タブに移動し、と呼ばれる新しい環境変数を作成しますLD_LIBRARY_PATH.libsディレクトリをパスに追加する必要があります。したがって、値は次のようになります。フォルダがプロジェクトディレクトリ内にあると${project_loc}/.libs:$LD_LIBRARY_PATH仮定します。.libs

于 2017-02-09T20:57:15.813 に答える
1

次のようにgdbを開始するには、Eclipseを説得する必要があります。

$ libtool --mode=execute gdb <your-program>

https://www.gnu.org/s/libtool/manual/html_node/Debugging-executables.htmlを参照してください

于 2011-12-09T14:08:44.933 に答える
1

「shlibtool--modeexecute」のexecを挿入してgdbを実行する小さなラッパープログラムを作成できると思います。これを「gdb-libtool」と呼び、gdbの代わりに呼び出します。

私はWindowsとLinuxの両方で開発しているので、それは私自身に必要なものです。

libtoolやgdbの呼び出しでパスを正しく取得するなど、いくつかの注意が必要な点があります。

乾杯、ジェリー。

于 2012-01-08T16:20:18.377 に答える
1

-no-install最初のポイントとして、に追加することで中間libtoolスクリプトを無効にすることができLDFLAGSます。または、インストールされたバイナリからMakefile.am実行してデバッグすることもできます。make install

2番目のポイントとして、 Eclipseを起動するLD_LIBRARY_PATH 前に、を設定してエクスポートする必要があります。

于 2014-02-14T13:48:13.660 に答える