0

一部のライブラリのドキュメントを読んでいるときに、一部のライブラリには、ライブラリ-somethingへのパスを入力したり pkg( ) を使用したりする代わりに、GCC 引数に「 」と入力するだけで、それらのライブラリを使用してプログラムをより簡単にコンパイルするなどの機能があることがわかりました... -- cflag --clibs

-somethingシステムに現在インストールされているライブラリまたはパッケージの「 」のリストを取得するにはどうすればよいですか?

たとえば、OpenGL フラグ: -lGLUT -lGL

パッケージマネージャーを使用して新しいライブラリをインストールすると、GCCの構成ファイルに確実に保存されますか、またはGCCがそれらの使用方法をどのように認識しますか?

4

2 に答える 2

4

これらのライブラリは、構成ファイルには保存されません。

GCC リンク オプションをチェックすると、リンクするライブラリを選択するために使用されるオプション「-l」が表示されます。そのオプションが行うことは、指定されたパスでライブラリを探すことです。

フォルダの中を見ると、 の/usr/libような名前のファイルがたくさんあります/usr/lib/libgtkspell.so.0.0.0。これは、gtkspell という名前のライブラリの場合です。を使用してリンクすると-lgtkspell、リンカーはファイルを検索するときに他の部分を自動的に追加します。

このアプリケーションは、コンパイル時 ( ) またはリンク時 ( )pkg-configに特別な追加の GCC フラグを必要とするライブラリに適しています。ただし、コンパイル/リンクに追加される実際のフラグは、標準の GCC フラグにすぎません。--cflags--libspkg-config

于 2012-02-18T07:18:17.240 に答える
0

pkg に与える引数がわからなかったので、これらのフラグを知りたかったのです。しかし、私はそれがどのように機能しているかを知りました:

/usr/lib/pkgconfig には、必要なものがすべて含まれています。+ --cflag と --clib のいずれかのファイルのみを引数に入れます。

(/usr/lib/pkgconfig を確認する必要があるとは知りませんでした)

于 2012-02-18T16:04:11.487 に答える