Использование предварительно скомпилированных библиотечных пакетов

Я понял следующее нелегким путем, потому что я не знал, на какой ресурс смотреть. Что я должен был прочитать?

Я использовал aptitude для установки пакета библиотеки C++ libexample5.3 и libexample5.3-dev

  • libexample5.3 помещает фактический объектный файл (libexample.so.5.3) в /usr/lib/
  • libexample5.3-dev помещает заголовочный файл (ы) (example.h) в /usr/include/

Чтобы связать libexample с test.cpp, скомпилируйте с:

g++ -o test test.cpp -lexample

Но сначала должны быть объявлены все объекты, связанные с:

#include <example.h> //contains declarations of everything provided by libexample
int main() {
    return example::CONSTANT_2;
}

1 ответ

Решение

Для libexample/libexample-dev материал, положение разделяемых библиотек и т. п. см. в руководстве по политике Debian; для работы -l флаг, см. справочную страницу g ++; за то что ты должен #include какой-то заголовок для использования библиотеки, это обычная практика, но она обычно документируется в любом случае в документации библиотеки.

Другие вопросы по тегам