C ++ Boost поток библиотеки тянет во всей среде разработки - PullRequest
1 голос
/ 26 января 2012

Я использую Boost-Thread в своем приложении. Когда я развертываю это приложение на клиентском компьютере (работающем под управлением Ubuntu 11.10), мне нужно убедиться, что на компьютере доступен libboost_thread.so. Тем не менее, когда я запускаю «apt-get install libboost-thread1.46», он, похоже, использует всю среду разработки (libgcc, libbost1.46-dev и т. Д.). Этой машине нужна только среда выполнения, а не среда разработки. Мне интересно, есть ли лучший способ справиться с этим.

Ответы [ 4 ]

2 голосов
/ 26 января 2012

Нет такого исключения пакета: пакет "libboost-thread1.46" не существует в Ubuntu, обрабатывается apt-get как регулярное выражение, а пакет разработки также соответствует выражению.Два возможных пакета называются libboost-thread1.46-dev и libboost-thread1.46.1 , где последний - это нужный вам пакет.Это зависит только от трех библиотек (libgcc, libc, libstdc ++), , которые вам все равно нужно развернуть , поскольку ваша программа и libboost-thread ссылаются на них.

Итак, разверните, установивlibboost-thread1.46.1 и все должно быть хорошо.

1 голос
/ 26 января 2012

Вы можете статически связываться с бустом.

1 голос
/ 26 января 2012

Вы также можете использовать bcp и скопировать необходимые файлы в свое собственное дерево исходников. Лично у меня в системе установлены заголовки, и я просто добавил исходные файлы в мой проект (once.cpp, thread.cpp, timeconv.inl, tss_null.cpp в Linux).

1 голос
/ 26 января 2012

Вы можете создать индивидуальные требования самостоятельно, загрузив надстройку tar и используя инструмент сборки bjam.

...