crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> b2 and static link boost
alexy
  опции профиля:
сообщение 7.6.2017, 21:02
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 44
Регистрация: 4.8.2010
Пользователь №: 1931

Спасибо сказали: 0 раз(а)




Репутация:   0  


начал изучать b2, мне понравился, реншил сделать на нем небольшую библиотеку. сейчас напиасл несколько функций в ней, пока использую только header only библиотеки из буста, потом понадобятся и другие, не header only.

сейчас мой jamroot.jam выглядит так
project psignals
  : requirements <include>src
;

lib psignals
  : [ glob src/*.cpp ]
  : <threading>multi <use>/boost
;
в ~/user-config.jam указывается где лежит только что распакованный boost1.64

у меня несколько вопросов:
1. при компиляции говторит # error Must not define both BOOST_SYSTEM_DYN_LINK and BOOST_SYSTEM_STATIC_LINK что выглядит логично. он и правда определяет оба дефайна. как так?
2. зачем-то начинают компилится бустовые потоки (также если не указывать, что <threading>multi). это в принцыпе не мешает, но хотелось быт понять почему.
3. я правильно понял, что достаточно указать в списке исходников библиотеку буста, например /boost//filesystem/<link>static , и получить вкомпилинную в мой so библиотеку filesystem.a собранную со флагом -fPIC ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
alexy
  опции профиля:
сообщение 8.6.2017, 21:34
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 44
Регистрация: 4.8.2010
Пользователь №: 1931

Спасибо сказали: 0 раз(а)




Репутация:   0  


в user.hpp все строки закоментированы. в ~/user-config.jam оставил только строчку откуда брать исходники boost. не знаю влияет ли он на что-то, но user-config.jam, который лежит в примерах - тоже весь зкоментирован (без изменений после того, как скачал).
вот ошибки, которые у меня получились. там подсветил дефайны, которые делает b2.

Раскрывающийся текст
In file included from /home/fleonis/projects/psignals/support/boost_1_64_0/boost/system/error_code.hpp:14:0,
from /home/fleonis/projects/psignals/support/boost_1_64_0/boost/filesystem/path_traits.hpp:23,
from /home/fleonis/projects/psignals/support/boost_1_64_0/boost/filesystem/path.hpp:25,
from /home/fleonis/projects/psignals/support/boost_1_64_0/boost/process/detail/traits/cmd_or_exe.hpp:14,
from /home/fleonis/projects/psignals/support/boost_1_64_0/boost/process/detail/basic_cmd.hpp:13,
from /home/fleonis/projects/psignals/support/boost_1_64_0/boost/process/args.hpp:33,
from /home/fleonis/projects/psignals/support/boost_1_64_0/boost/process.hpp:22,
from src/psignals.cpp:10:
/home/fleonis/projects/psignals/support/boost_1_64_0/boost/system/config.hpp:34:3: ошибка: #error Must not define both BOOST_SYSTEM_DYN_LINK and BOOST_SYSTEM_STATIC_LINK
# error Must not define both BOOST_SYSTEM_DYN_LINK and BOOST_SYSTEM_STATIC_LINK
^~~~~

"g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -pthread -fPIC -Winvalid-pch -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_BUILD_PCH_ENABLED -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_CONTAINER_DYN_LINK=1 -DBOOST_CONTEXT_DYN_LINK=1 -DBOOST_COROUTINES2_DYN_LINK=1 -DBOOST_COROUTINES_DYN_LINK=1 -DBOOST_DATE_TIME_DYN_LINK=1 -DBOOST_FIBERS_DYN_LINK=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_IOSTREAMS_DYN_LINK=1 -DBOOST_LOCALE_NO_WINAPI_BACKEND=1 -DBOOST_LOCALE_WITH_ICONV=1 -DBOOST_LOG_DYN_LINK=1 -DBOOST_LOG_SETUP_DYN_LINK=1 -DBOOST_LOG_USE_AVX2 -DBOOST_LOG_USE_SSSE3 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DBOOST_RANDOM_DYN_LINK -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_TEST_DYN_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1 -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -DBOOST_TIMER_DYN_LINK=1 -DBOOST_TIMER_STATIC_LINK=1 -DBOOST_TYPE_ERASURE_DYN_LINK -DDATE_TIME_INLINE -I"/home/fleonis/projects/psignals/support/boost_1_64_0" -I"/usr/include/python3.5m" -I"src" -c -o "bin/gcc-7.0/debug/threading-multi/src/psignals.o" "src/psignals.cpp"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 1:52