Существуют ли какие-либо внешние требования для создания расширенных контекстных и сопрограммных библиотек? - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь собрать boost 1.58 как 64-битные разделяемые библиотеки в Windows 10, используя VS msvc. Но библиотеки контекста и сопрограмм не создаются.

Я запускаю эту команду для сборки

.\b2 -j8 toolset=msvc address-model=64 architecture=x86 link=shared threading=multi binary-format=pe abi=ms runtime-link=shared

Эта команда приводит к ошибке ниже. Что мне здесь не хватает?

Ниже приведен журнал ошибок.

compile-c-c++ bin.v2\libs\context\build\msvc-14.0\debug\address-model-64\threading-multi\execution_context.obj
execution_context.cpp
Unknown compiler version - please run the configure tests and report the results
C:\boost_1_58_0\boost/context/execution_context.hpp(140): error C2492: 'boost::context::execution_context::main_ctx_': data with thread storage duration may not have dll interface
C:\boost_1_58_0\boost/context/execution_context.hpp(140): warning C4251: 'boost::context::execution_context::main_ctx_': struct 'boost::context::execution_context::fcontext' needs to have dll-interface to be used by clients of class 'boost::context::execution_context'
C:\boost_1_58_0\boost/context/execution_context.hpp(59): note: see declaration of 'boost::context::execution_context::fcontext'
C:\boost_1_58_0\boost/context/execution_context.hpp(140): error C2492: 'private: static boost::context::execution_context::fcontext boost::context::execution_context::main_ctx_': data with thread storage duration may not have dll interface
C:\boost_1_58_0\boost/context/execution_context.hpp(141): error C2492: 'boost::context::execution_context::current_ctx_': data with thread storage duration may not have dll interface
C:\boost_1_58_0\boost/context/execution_context.hpp(141): warning C4251: 'boost::context::execution_context::current_ctx_': class 'boost::intrusive_ptr<boost::context::execution_context::fcontext>' needs to have dll-interface to be used by clients of class 'boost::context::execution_context'
C:\boost_1_58_0\boost/context/execution_context.hpp(138): note: see declaration of 'boost::intrusive_ptr<boost::context::execution_context::fcontext>'
C:\boost_1_58_0\boost/context/execution_context.hpp(141): error C2492: 'private: static boost::intrusive_ptr<boost::context::execution_context::fcontext> boost::context::execution_context::current_ctx_': data with thread storage duration may not have dll interface
C:\boost_1_58_0\boost/context/execution_context.hpp(143): warning C4251: 'boost::context::execution_context::ptr_': class 'boost::intrusive_ptr<boost::context::execution_context::fcontext>' needs to have dll-interface to be used by clients of class 'boost::context::execution_context'
C:\boost_1_58_0\boost/context/execution_context.hpp(138): note: see declaration of 'boost::intrusive_ptr<boost::context::execution_context::fcontext>'

    call "C:\Users\admin\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86_amd64.cmd" >nul
cl /Zm800 -nologo @"bin.v2\libs\context\build\msvc-14.0\debug\address-model-64\threading-multi\execution_context.obj.rsp"

...failed compile-c-c++ bin.v2\libs\context\build\msvc-14.0\debug\address-model-64\threading-multi\execution_context.obj...
...skipped <pbin.v2\libs\context\build\msvc-14.0\debug\address-model-64\threading-multi>boost_context-vc140-mt-gd-1_58.dll for lack of <pbin.v2\libs\context\build\msvc-14.0\debug\address-model-64\threading-multi>execution_context.obj...
...skipped <pstage\lib>boost_context-vc140-mt-gd-1_58.dll for lack of <pbin.v2\libs\context\build\msvc-14.0\debug\address-model-64\threading-multi>boost_context-vc140-mt-gd-1_58.dll...
...skipped <pbin.v2\libs\context\build\msvc-14.0\debug\address-model-64\threading-multi>boost_context-vc140-mt-gd-1_58.lib for lack of <pbin.v2\libs\context\build\msvc-14.0\debug\address-model-64\threading-multi>execution_context.obj...
...skipped <pstage\lib>boost_context-vc140-mt-gd-1_58.lib for lack of <pbin.v2\libs\context\build\msvc-14.0\debug\address-model-64\threading-multi>boost_context-vc140-mt-gd-1_58.lib...
...skipped <pbin.v2\libs\coroutine\build\msvc-14.0\debug\address-model-64\threading-multi>boost_coroutine-vc140-mt-gd-1_58.dll for lack of <pbin.v2\libs\context\build\msvc-14.0\debug\address-model-64\threading-multi>boost_context-vc140-mt-gd-1_58.lib...
...skipped <pstage\lib>boost_coroutine-vc140-mt-gd-1_58.dll for lack of <pbin.v2\libs\coroutine\build\msvc-14.0\debug\address-model-64\threading-multi>boost_coroutine-vc140-mt-gd-1_58.dll...
...skipped <pbin.v2\libs\coroutine\build\msvc-14.0\debug\address-model-64\threading-multi>boost_coroutine-vc140-mt-gd-1_58.lib for lack of <pbin.v2\libs\context\build\msvc-14.0\debug\address-model-64\threading-multi>boost_context-vc140-mt-gd-1_58.lib...
...skipped <pstage\lib>boost_coroutine-vc140-mt-gd-1_58.lib for lack of <pbin.v2\libs\coroutine\build\msvc-14.0\debug\address-model-64\threading-multi>boost_coroutine-vc140-mt-gd-1_58.lib...
compile-c-c++ bin.v2\libs\context\build\msvc-14.0\release\address-model-64\threading-multi\execution_context.obj
execution_context.cpp
Unknown compiler version - please run the configure tests and report the results
.\boost/context/execution_context.hpp(140): error C2492: 'boost::context::execution_context::main_ctx_': data with thread storage duration may not have dll interface
.\boost/context/execution_context.hpp(140): warning C4251: 'boost::context::execution_context::main_ctx_': struct 'boost::context::execution_context::fcontext' needs to have dll-interface to be used by clients of class 'boost::context::execution_context'
.\boost/context/execution_context.hpp(59): note: see declaration of 'boost::context::execution_context::fcontext'
.\boost/context/execution_context.hpp(140): error C2492: 'private: static boost::context::execution_context::fcontext boost::context::execution_context::main_ctx_': data with thread storage duration may not have dll interface
.\boost/context/execution_context.hpp(141): error C2492: 'boost::context::execution_context::current_ctx_': data with thread storage duration may not have dll interface
.\boost/context/execution_context.hpp(141): warning C4251: 'boost::context::execution_context::current_ctx_': class 'boost::intrusive_ptr<boost::context::execution_context::fcontext>' needs to have dll-interface to be used by clients of class 'boost::context::execution_context'
.\boost/context/execution_context.hpp(138): note: see declaration of 'boost::intrusive_ptr<boost::context::execution_context::fcontext>'
.\boost/context/execution_context.hpp(141): error C2492: 'private: static boost::intrusive_ptr<boost::context::execution_context::fcontext> boost::context::execution_context::current_ctx_': data with thread storage duration may not have dll interface
.\boost/context/execution_context.hpp(143): warning C4251: 'boost::context::execution_context::ptr_': class 'boost::intrusive_ptr<boost::context::execution_context::fcontext>' needs to have dll-interface to be used by clients of class 'boost::context::execution_context'
.\boost/context/execution_context.hpp(138): note: see declaration of 'boost::intrusive_ptr<boost::context::execution_context::fcontext>'

    call "C:\Users\admin\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86_amd64.cmd" >nul
cl /Zm800 -nologo @"bin.v2\libs\context\build\msvc-14.0\release\address-model-64\threading-multi\execution_context.obj.rsp"

...failed compile-c-c++ bin.v2\libs\context\build\msvc-14.0\release\address-model-64\threading-multi\execution_context.obj...
...skipped <pbin.v2\libs\context\build\msvc-14.0\release\address-model-64\threading-multi>boost_context-vc140-mt-1_58.dll for lack of <pbin.v2\libs\context\build\msvc-14.0\release\address-model-64\threading-multi>execution_context.obj...
...skipped <pstage\lib>boost_context-vc140-mt-1_58.dll for lack of <pbin.v2\libs\context\build\msvc-14.0\release\address-model-64\threading-multi>boost_context-vc140-mt-1_58.dll...
...skipped <pbin.v2\libs\context\build\msvc-14.0\release\address-model-64\threading-multi>boost_context-vc140-mt-1_58.lib for lack of <pbin.v2\libs\context\build\msvc-14.0\release\address-model-64\threading-multi>execution_context.obj...
...skipped <pstage\lib>boost_context-vc140-mt-1_58.lib for lack of <pbin.v2\libs\context\build\msvc-14.0\release\address-model-64\threading-multi>boost_context-vc140-mt-1_58.lib...
...skipped <pbin.v2\libs\coroutine\build\msvc-14.0\release\address-model-64\threading-multi>boost_coroutine-vc140-mt-1_58.dll for lack of <pbin.v2\libs\context\build\msvc-14.0\release\address-model-64\threading-multi>boost_context-vc140-mt-1_58.lib...
...skipped <pstage\lib>boost_coroutine-vc140-mt-1_58.dll for lack of <pbin.v2\libs\coroutine\build\msvc-14.0\release\address-model-64\threading-multi>boost_coroutine-vc140-mt-1_58.dll...
...skipped <pbin.v2\libs\coroutine\build\msvc-14.0\release\address-model-64\threading-multi>boost_coroutine-vc140-mt-1_58.lib for lack of <pbin.v2\libs\context\build\msvc-14.0\release\address-model-64\threading-multi>boost_context-vc140-mt-1_58.lib...
...skipped <pstage\lib>boost_coroutine-vc140-mt-1_58.lib for lack of <pbin.v2\libs\coroutine\build\msvc-14.0\release\address-model-64\threading-multi>boost_coroutine-vc140-mt-1_58.lib...
...failed updating 2 targets...
...skipped 16 targets...

Что мне здесь не хватает?

...