Вопрос

Мне не ясно, какие варианты связывания существуют для Boost.Thread 1.34.1 библиотека. Я на Ubuntu 8.04, и я обнаружил, что при использовании либо boost_thread или boost_thread-mt Во время соединения как компиляции, так и запуска, но я не вижу никакой документации по этим или любым другим параметрам связывания выше ссылки.

Какие варианты связывания BOOST.THREAD доступны и что они имеют в виду?

Это было полезно?

Решение

Хорошо...

Первая забавная вещь в том, что -mt Модификатор в названии - указать, что библиотека в порядке для многопоточничества. Что может привести нас к веществу, что boost_thread (Без этого модификатора) может быть небезопасным ...

Но реальная вещь, что (как видно на моей коробке Ubuntu 10.04), boost_thread это мягкая ссылка на boost_thread-mt, что означает, что два являются одним и тем же.

Если вы хотите проверить его, вы можете открыть консоль на вашу ubuntu (сделайте консоль FullShreen, потому что имена длинные), затем введите:

cd /usr/lib

Перейти к каталогу, где есть библиотеки повышения. А потом:

ls -l ./libboost_thread*

Который будет перечислять все файлы, начиная с libboost_thread, с дополнительной информацией. Результатом будет что-то вроде:

[...] ./libboost_thread.a
[...] ./libboost_thread-mt.a -> libboost_thread.a

Как вы видете, libboost_thread.a это статическая библиотека, а также libboost_thread-mt.a это мягкая ссылка на libboost_thread.a

Другие советы

Для подробной справки схемы именования библиотеки Boost см.: http://www.boost.org/doc/libs/release/more/getting_started/unix-varyts.html#Library-Naming.htming.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top