It seems I was right.
Boost libs for Arch Linux are not compiled using the standard C++14.
Because of this, Boost.Context cannot support Boost.Coroutine2.
I recompiled Boost-libs with C++14, then reinstalled and now the Fibonacci
example compiles and links correctly with the system libs.
I hope this helps other developers with similar problems.
On 1 April 2016 at 01:29, Carlos Ferreira
Ok I was mistaken. It seems that the gnu++14 standard is only used by default for GCC 6 release, which means that Boost.Context for Arch Linux was probably not compiled using the C++14 standard. The macro BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES is defined if a standard bellow c++14 is used and consequently, BOOST_CONTEXT_NO_EXECUTION_CONTEXT macro is defined.
This is probably the reason why GCC is unable to successfully link the Fibonacci example with the Boost.context system lib. I will try to compile Boost for Arch linux, forcing the C++14 standard and then report here my results.
On 1 April 2016 at 01:05, Carlos Ferreira
wrote: As I though, none of the macros are defined. I don't really understand what is going on. I thought the Boost-libs package from Arch Linux might have been compiled without C++14 support, but GCC 5.3 uses -std=c++14 by default, if no standard is provided by the client.
On 1 April 2016 at 00:44, Edward Diener
wrote: On 3/31/2016 6:09 PM, Carlos Ferreira wrote:
None of them seem to be defined. I have checked one by one using the header files included in the fibonacci example and none of those macros seem to be defined.
Is there a test or a "boost" way for me to confirm and to be sure that none of those macros are defined?
Just a C++ way <g>. Add to an included header file:
#include
#if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) || \ defined(BOOST_NO_CXX11_CONSTEXPR) || \ defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || \ defined(BOOST_NO_CXX11_FINAL) || \ defined(BOOST_NO_CXX11_HDR_TUPLE) || \ defined(BOOST_NO_CXX11_NOEXCEPT) || \ defined(BOOST_NO_CXX11_NULLPTR) || \ defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) || \ defined(BOOST_NO_CXX11_UNIFIED_INITIALISATION_SYNTAX) || \ defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || \ defined(BOOST_NO_HDR_ATOMIC) || \ defined(BOOST_NO_HDR_TUPLE) #error Your message here #endif
On 31 March 2016 at 22:20, Oliver Kowalke
wrote: if one of the defect macros below seams to be defined - prevents
including execution_context:
BOOST_NO_CXX11_AUTO_DECLARATIONS BOOST_NO_CXX11_CONSTEXPR BOOST_NO_CXX11_DEFAULTED_FUNCTIONS BOOST_NO_CXX11_FINAL BOOST_NO_CXX11_HDR_TUPLE BOOST_NO_CXX11_NOEXCEPT BOOST_NO_CXX11_NULLPTR BOOST_NO_CXX11_RVALUE_REFERENCES BOOST_NO_CXX11_TEMPLATE_ALIASES BOOST_NO_CXX11_UNIFIED_INITIALISATION_SYNTAX BOOST_NO_CXX11_VARIADIC_TEMPLATES BOOST_NO_HDR_ATOMIC BOOST_NO_HDR_TUPLE
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
--
Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
--
Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira
-- Carlos Miguel Ferreira Researcher at Telecommunications Institute Aveiro - Portugal Work E-mail - cmf@av.it.pt Skype & GTalk -> carlosmf.pt@gmail.com LinkedIn -> http://www.linkedin.com/in/carlosmferreira