УСТАНОВКА
Установка должна производиться пользователем root.
Дистрибутив библиотеки представляет собой архив CntmLib-X.X.X.tgz, из которого
необходимо извлечь каталог CntmLib-X.X.X в произвольное место, например в
домашний каталог или /tmp и запустить из консоли инсталлятор install, который произведет
компиляцию и установку библиотеки. Альтернативный способ установки - выполнить команду cmake, с
последущим make и make install.
Для компиляции используется CMake, который автоматически запускается инсталлятором.
После запуска инсталлятора будет отображено окно конфигурации, в котором можно
разрешить интеграцию CntmLib с библиотекой QT, а также указать другие параметры
компиляции и установки. Краткая информация об использовании конфигуратора CMake:
для выполнения процедуры конфигурации/реконфигурации следует нажать клавишу "c",
для перехода к компиляции и установки библиотеки следует нажать клавишу "g".
Установка производится в следующие каталоги (относительно каталога установки):
бинарные файлы библиотеки - lib;
файлы заголовков - include;
документация - share/CntmLib-X.X.X/doc;
исходники - share/CntmLib-X.X.X/source;
примеры - share/CntmLib-X.X.X/samples.
Примечание: библиотека поставляется в кодировке
UTF-8.
ИСПОЛЬЗОВАНИЕ
Необходимые библиотеки. Для использования CntmLib
необходима библиотека Boost. Обычно она поставляется с дистрибутивом Linux,
если
ее нет в дистрибутиве, то ее можно получить на Boost.org.
Библиотека QT необходима, если будут использоваться средства синхронизации, интегрированные с QT
(класс Cntm::QTMainSynchroSpace).
Настройки компилятора. Если используется интеграция с
QT, то должны быть определены следующие глобальные макросы (директива -d):
QT_THREAD_SUPPORT и CNTM_USE_QT_SS. Должны быть прописаны пути к заголовочным
файлам библиотек QT, Boost и CntmLib.
Должен быть установлен ключ -pthread.
Настройки линкера. Необходимо прописать пути к
библиотекам QT, Boost и CntmLib (для CntmLib путь /usr/local/lib). Необходимо
подключить мультипоточную версию библиотеки QT qt-mt, библиотеку boost-thread и
cntm.
Подключение заголовочных файлов пакетов. Каждый пакет
верхнего уровня имеет свой заголовочный файл, который соответствует названию
пакета (пакеты верхних уровней включают вложенные пакеты). Так, чтобы включить,
например, пакет подсчета ссылок - Cntm.RefCount - нужно написать директиву
#include <Cntm/RefCount.h>.
Дополнительные макросы. Многие библиотеки (например, QT) определяют свои собственные типы uint и т.д.
В обычном случае конфликтов с CntmLib не возникает, однако, если использовать директиву using namespace Cntm, то
в глобальном пространстве имен будут и типы других библиотек и типы CntmLib. Для устранения конфликта следует
использовать макрос CNTM_USING_INTTYPES, либо объявляя его параметром компиляции, либо определяя перед
включением заголовков CntmLib. Этот макрос обеспечит приоритет типам, определенным в CntmLib, что устранит
неоднозначность. Для повышения быстродействия можно (но очень не рекомендуется, т.к. это уменьшает надежность)
отключить проверку ссылочных указателей на NULL при их разименовывании. Для этого в настройках компилятора
необходимо объявить макрос CNTM_NO_DEREFERENCE_CHECK.
УДАЛЕНИЕ
Для удаления библиотеки запустите деинсталлятор uninstall. Удалять библиотеку может только пользователь
root.
|