15

最新の GLUIソース コードをダウンロードし、コンパイルしようとしています。そうすると、次のエラーが表示されます。

g++ -O0 -Wall -pedantic -I./ -I./include -I/usr/X11R6/include -o bin/example1 example/example1.cpp  -L./lib -lglui -L/usr/X11R6/lib/libXdmcp.a -lglut -lGLU -lGL -lXmu -lXext -lX11 -lXi -lm
/usr/bin/ld: cannot find -lXmu
collect2: ld returned 1 exit status

を実行するとlocate libXmu、次の出力が得られます。

> %:~/src/GLUI/src$ locate libXmu 
> /usr/lib/libXmu.so.6
> /usr/lib/libXmu.so.6.2.0
> /usr/lib/libXmuu.so.1
> /usr/lib/libXmuu.so.1.0.0

/usr/lib/libXmu.so がないためにエラーが発生するのですか? この場合、どうすれば作成できますか?(私はリンクの経験がまったくありません)。

ありがとう!

4

3 に答える 3

7

Linux ディストリビューションは、通常、プログラムのビルドに必要なファイルとは別に、プログラムの実行に必要なライブラリをパッケージ化します。

*-devel または *-dev という名前のパッケージを探します。

これに特に必要なものはわかりませんが、 apt-cache search を使用して探すことができます。

于 2010-05-06T00:50:04.480 に答える
6

答えは実際には最初にここにあったものの 1 つでしたが、所有者が削除したようです。/usr/lib/libXmu.so.6ライブラリの最新バージョン (つまり) へのシンボリック リンクを作成し、コードを正常にコンパイルすることで問題を解決できました。

于 2010-05-14T15:22:42.670 に答える
0

私は同じ問題を抱えていました.シンボリックリンクを作成しても解決しない場合は、次のことを試してください:

  1. $PATH ("echo $PATH") を印刷し、必要なライブラリ ファイルがこれらのディレクトリのいずれかにあるかどうかを確認します。「export PATH=/newly/added/path:$PATH」を使用して、確認する新しいディレクトリを追加します。
  2. 私はlibeventを含め、gccコマンドに「-levent」を追加し、ldはファイル/usr/lib/libevent.soを使用したため、「lib」プレフィックスと拡張子がldによって自動的に追加されているようです。

がんばり続ける。

于 2013-10-16T14:49:32.573 に答える