1

/lib/libproc-3.2.6.soUbuntuディストリビューションのライブラリにある関数のいくつかを使おうとしています。

ヘッダーファイルをダウンロードしてインストールしました。これらはソースファイルで定義されています。

現在、これが私がやろうとしていることのすべてです、初心者のためだけに...

proc_t **read_proc = readproctab(0);

しかし、次のコンパイラエラーが発生します。

/tmp/cclqMImG.o: In function `Sysmon::initialise_sysmon()':
sysmon.cpp:(.text+0x494): undefined reference to `readproctab'
collect2: ld returned 1 exit status

コンパイルに使用しているコマンドが間違っている可能性があることは承知していますが、経験不足のため、何が間違っているのかわかりません。これは、cppファイルをコンパイルするために使用しているg++コマンドです。

g++ -o sysmon.o sysmon.cpp `pkg-config --libs --cflags gtk+-2.0`

誰かが私がどこで間違っているのかについていくつかの指針を教えてくれませんか。

4

3 に答える 3

4

実行可能ファイルをlibprocに対してリンクしていません(これはリンカーエラーメッセージです)。

-lprocリンカコマンドに追加してみてください。

于 2010-04-10T11:58:35.170 に答える
0

使用したいライブラリに対して実際にリンクしているのではなく、単にそのヘッダーファイルをインクルードしているだけなので、コンパイラは未定義の参照について文句を言います。

共有ライブラリに対するリンクについては、こちらをご覧ください。

ちょっとした提案です。ビルドツールSConsの使用を開始してください。ライブラリへのリンクを処理できます。使用したいライブラリを、SConsに必要なSConstructファイルに追加するだけで、コンパイラの詳細をいじる必要はありません。 。また、SConsが提供する他の多くの優れた機能も利用できます。強くお勧めします。

于 2010-04-10T12:06:50.713 に答える
0

Ubuntu 17.04

-lprocpsおそらくの代わりに使用したいと思うでしょう-lproc

于 2017-08-21T20:49:00.107 に答える