-
Notifications
You must be signed in to change notification settings - Fork 640
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for modular build structure. #2905
Conversation
…a source in install targets.
An automated preview of the documentation is available at https://2905.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/index.html |
An automated preview of the documentation is available at https://2905.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/index.html |
An automated preview of the documentation is available at https://2905.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/index.html |
An automated preview of the documentation is available at https://2905.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/index.html |
Please review and merge this PR at your earliest convenience. |
An automated preview of the documentation is available at https://2905.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/index.html |
… of the linked library.
An automated preview of the documentation is available at https://2905.beastdocs.prtest.cppalliance.org/libs/beast/doc/html/index.html |
@@ -11,4 +11,5 @@ exe json_client : json_client.cpp | |||
: | |||
<variant>coverage:<build>no | |||
<variant>ubasan:<build>no | |||
<use>/boost/json//boost_json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This still passes -DBOOST_JSON_DYN_LINK=1
:
cl /Zm800 -nologo "json_client.cpp" -c -Fo"..\..\..\..\..\..\bin.v2\libs\beast\example\http\client\body\msvc-14.3\debug\x86_64\threading-multi\json_client.obj" -TP /wd4675 /EHs /GR /Zc:throwingNew /Z7 /Od /Ob0 /W3 /MDd /Zc:forScope /Zc:wchar_t /Zc:inline /favor:blend /bigobj -DBOOST_ALL_NO_LIB=1 -DBOOST_ASIO_DISABLE_BOOST_ARRAY=1 -DBOOST_ASIO_DISABLE_BOOST_BIND=1 -DBOOST_ASIO_DISABLE_BOOST_DATE_TIME=1 -DBOOST_ASIO_DISABLE_BOOST_REGEX=1 -DBOOST_ASIO_NO_DEPRECATED=1 -DBOOST_ASIO_SEPARATE_COMPILATION -DBOOST_BEAST_ALLOW_DEPRECATED -DBOOST_BEAST_SEPARATE_COMPILATION -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_CONTAINER_DYN_LINK=1 -DBOOST_CONTAINER_NO_LIB=1 -DBOOST_COROUTINES_NO_DEPRECATION_WARNING=1 -DBOOST_JSON_DYN_LINK=1 -D_CRT_SECURE_NO_WARNINGS=1 -D_SCL_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS=1 -D_SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING -D_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING -D_WIN32_WINNT=0x0601 "-I..\..\..\..\..\.." "-I..\..\..\..\..\..\libs\beast" "-IC:\Users\win\Desktop\boost\libs\assert\include" "-IC:\Users\win\Desktop\boost\libs\container\include" "-IC:\Users\win\Desktop\boost\libs\intrusive\include" "-IC:\Users\win\Desktop\boost\libs\move\include"
And the same link errrors:
C:\Users\win\Desktop\boost\boost/json/impl/array.ipp(31): warning C4273: 'empty_': inconsistent dll linkage
C:\Users\win\Desktop\boost\boost/json/array.hpp(96): note: see previous definition of 'empty_'
C:\Users\win\Desktop\boost\boost/json/impl/array.ipp(31): error C2491: 'boost::json::array::empty_': definition of dllimport static data member not allowed
C:\Users\win\Desktop\boost\boost/json/impl/array.ipp(36): warning C4273: 'boost::json::array::table::allocate': inconsistent dll linkage
C:\Users\win\Desktop\boost\boost/json/impl/array.hpp(42): note: see previous definition of 'boost::json::array::table::allocate'
C:\Users\win\Desktop\boost\boost/json/impl/array.ipp(60): warning C4273: 'boost::json::array::table::deallocate': inconsistent dll linkage
C:\Users\win\Desktop\boost\boost/json/impl/array.hpp(49): note: see previous definition of 'boost::json::array::table::deallocate'
C:\Users\win\Desktop\boost\boost/json/impl/array.ipp(76): warning C4273: 'boost::json::array::revert_insert::revert_insert': inconsistent dll linkage
C:\Users\win\Desktop\boost\boost/json/impl/array.hpp(93): note: see previous definition of 'boost::json::array::revert_insert::revert_insert'
C:\Users\win\Desktop\boost\boost/json/impl/array.ipp(128): warning C4273: 'boost::json::array::revert_insert::~revert_insert': inconsistent dll linkage
C:\Users\win\Desktop\boost\boost/json/impl/array.hpp(100): note: see previous definition of 'boost::json::array::revert_insert::~revert_insert'
This is part of the effort to make the Boost libraries "modular" for build and consumption. See https://lists.boost.org/Archives/boost/2024/01/255704.php and https://github.com/grafikrobot/boost-b2-modular/blob/b2-modular/README.adoc for more information.
This PR depends on the following other PRs being merged to both develop and master branches of the respective repos:
This PR will be changed to ready for review, i.e. not draft, when the above are merged. Do not merge this one until that time.