Смущающе основной вопрос. sudo apt-get install libmemcached6
- где живут .h и .o или .so в обычной установке на Linux-машине (Ubuntu)? И, как я могу убедиться, что g ++ может их забрать?Где хранятся файлы заголовков C в Linux
ответ
Они идут в/usr/include и/usr/lib. Если вы используете опцию -l (для библиотек), она должна найти их из этих стандартных мест. Если вы включите использование <file.h>
, оно также должно быть доставлено из нужного места.
Обнаружено так в/usr/lib. Нет заголовка в/usr/include. Возможно, это что-то не включено в установку apt-get, и мне просто нужно самому приобрести источник? – djechlin
mostprobably ваша библиотека имеет версию -dev, которая устанавливает заголовок, и это один раз устанавливает требования к времени выполнения (иначе .so) попробовать сделать поиска APT-кэша libmemcached6 и посмотреть, если есть libmemcached6-DEV пакет файлы разработки. что добавит заголовочный файл – mohaps
Спасибо, мне нужна версия -dev. g ++ myfile.cpp теперь работает чистым. – djechlin
На 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
, the manual объясняет, как он ищет файлы заголовков. Обратите внимание, что это отличается и отличается от using -l
to instruct the linker to link with a certain library.
В Linux и большинстве систем Unix на основе, библиотеки можно найти на любом из этих двух мест:
- /USR/Библиотека/
- /USR/местные/Библиотека/
Разница между этими двумя местоположениями заключается в том, что последний используется для сторонних библиотек. Поэтому, если вы опубликовали свою собственную библиотеку или установили ее из стороннего репозитория (например, ppa), эти файлы должны перейти в /usr/local/lib
.
Хранение файлов заголовков можно понять, используя приведенную выше аналогию. Папки являются:
- /USR/включать/
- /USR/местные/включить/
- 1. Где хранятся файлы заголовков C в Windows?
- 2. Где хранятся архивные файлы в Linux?
- 3. Где хранятся файлы?
- 4. Где хранятся файлы CSV?
- 5. Linux: где хранятся переменные среды?
- 6. Git - где хранятся файлы
- 7. где хранятся файлы .pickle?
- 8. Где хранятся файлы .db?
- 9. Где хранятся файлы?
- 10. Где хранятся файлы javascripts?
- 11. Где хранятся текстовые файлы?
- 12. Где хранятся файлы * .ofs?
- 13. Где хранятся файлы Git?
- 14. Где хранятся файлы iPhone?
- 15. Где файлы заголовков для C в Xcode?
- 16. Где хранятся DLL-файлы OpenSSL?
- 17. Где хранятся мои файлы проектов
- 18. Где хранятся объектные файлы c программ?
- 19. Где хранятся файлы журнала log4net?
- 20. Файлы заголовков в C
- 21. Где Visual Studio ищет файлы заголовков C++?
- 22. Где все точки монтирования хранятся в Linux
- 23. Где скачать стандартные файлы заголовков C++?
- 24. Где хранятся загруженные файлы Flask?
- 25. Rails, где хранятся файлы CarrierWave?
- 26. android: downloadmanager где хранятся файлы
- 27. Где хранятся хранимые файлы Git?
- 28. Выяснение, где хранятся файлы Android
- 29. Скрепка, где хранятся фактические файлы?
- 30. Где хранятся файлы cookie php?
г ++ может забрать их, если они установлены правильно, потому что они должны быть в PATH. В противном случае вы можете сами ставить библиотеку и статически размещать ее в папке по вашему выбору. –