8

恥ずかしながら初歩的な質問です。 sudo apt-get install libmemcached6- .h および .o または .so は、Linux マシン (Ubuntu) の通常のインストールでどこに存在しますか? そして、どうすれば g++ がそれらを確実に取得できるようになりますか?

4

3 に答える 3

18

/usr/include と /usr/lib に移動します。-l オプション (ライブラリ用) を使用すると、これらの標準的な場所からそれらを見つける必要があります。使用を含める場合は<file.h>、適切な場所から取得する必要もあります。

于 2012-05-24T00:00:06.243 に答える
13

Ubuntu(およびその他のDebianバリアント)では、dpkgコマンドを使用して調べることができます。例えば:

$ dpkg -L libxml2
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libxml2
/usr/share/doc/libxml2/AUTHORS
/usr/share/doc/libxml2/NEWS.gz
/usr/share/doc/libxml2/TODO.gz
/usr/share/doc/libxml2/copyright
/usr/share/doc/libxml2/README
/usr/share/doc/libxml2/changelog.Debian.gz
/usr/share/doc/libxml2/README.Debian
/usr/lib
/usr/lib/libxml2.so.2.7.8
/usr/lib/libxml2.so.2

ご覧のとおり、Debianパッケージには通常.hファイルが含まれていません。それらは通常、対応する-devパッケージに含まれています。したがって、ここでヘッダーファイルを見つけることができます:

$ dpkg -L libxml2-dev
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libxml2-dev
/usr/share/doc/libxml2-dev/AUTHORS
/usr/share/doc/libxml2-dev/NEWS.gz
/usr/share/doc/libxml2-dev/TODO.gz
/usr/share/doc/libxml2-dev/copyright
/usr/share/doc/libxml2-dev/README
/usr/share/doc/libxml2-dev/changelog.Debian.gz
/usr/share/aclocal
/usr/share/aclocal/libxml2.m4
/usr/share/man
/usr/share/man/man3
/usr/share/man/man3/libxml.3.gz
/usr/share/man/man1
/usr/share/man/man1/xml2-config.1.gz
/usr/include
/usr/include/libxml2
/usr/include/libxml2/libxml
/usr/include/libxml2/libxml/HTMLtree.h
/usr/include/libxml2/libxml/tree.h
/usr/include/libxml2/libxml/xmlreader.h
/usr/include/libxml2/libxml/xmlschemastypes.h
...

についてgccは、マニュアルでヘッダーファイルの検索方法が説明されています。これは、特定のライブラリとリンクするようにリンカに指示するために使用-lすることとは異なり、別であることに注意してください。

于 2012-05-24T00:10:02.990 に答える