You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Andrew Robertson (JIRA)" <ji...@apache.org> on 2014/03/07 11:29:42 UTC

[jira] [Created] (QPID-5609) QPID fails to compile in C++11 with Boost 1.54

Andrew Robertson created QPID-5609:
--------------------------------------

             Summary: QPID fails to compile in C++11 with Boost 1.54 
                 Key: QPID-5609
                 URL: https://issues.apache.org/jira/browse/QPID-5609
             Project: Qpid
          Issue Type: Bug
          Components: C++ Broker, C++ Client
    Affects Versions: 0.24
         Environment: Boost 1.54, GCC 4.8.2, Centos 5.10
            Reporter: Andrew Robertson
            Priority: Minor
         Attachments: qpid.patch

QPID fails to compile with GCC 4.8.2 and Boost 1.54 in C++11 using the compiler flag "-std=c++11". 

This problem is caused by a change to Boost's shared_ptr. When compiling in c++11 the shared_pointer interface is changed to match c++11's std::shared_pointer. This causes the boolean conversion operator to be made explicit, preventing the implicit conversion to a boolean when returning a shared_ptr from a function. 

To get QPID to compile with GCC 4.8.2 and C++11 extra compiler flags are needed. After running CMake modify the CMakeCache.txt file and set the variable "CMAKE_CXX_FLAGS" to "-std=c++11 -Wno-unused-local-typedefs -Wno-ignored-qualifiers -Wno-deprecated-declarations". Passing the variable to CMake on the command line can cause problems as CMake doesn't like the '=' in the flag "-std=c++11".



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org