On Wed, 2016-02-17 at 10:51 +0000, TRUFANOW Alexandre wrote:
> Hi,
> 
> I am attempting to compile proton and the C++ binding using GCC 3.4 

This is a very old compiler (from no later than 2006), and we don't
test on it (although we are striving currently to support C++03).

Going forward it is not too unlikely that we will move to using C++11
features for our implementation. So if you can use a more recent
version of gcc (or clang) then you will be better off.


> and
> get the following error when compiling the C++ bindings. (compiler
> flags
> have been removed in proton-c/CMakeLists.txt: -pedantic-errors
> -Wno-variadic-macros)
> 
> > [ 33%] Building CXX object proton-c/bindings/cpp/CMakeFiles/qpid-
> > proton-cpp.dir/src/acceptor.cpp.o
> > In file included from /tmp/qpid-proton-0.12.0/proton-
> > c/bindings/cpp/src/contexts.hpp:28,
> >                  from /tmp/qpid-proton-0.12.0/proton-
> > c/bindings/cpp/src/acceptor.cpp:26:
> > /tmp/qpid-proton-0.12.0/proton-
> > c/bindings/cpp/include/proton/container.hpp:129: error: declaration
> > of `void proton::container::link_options(const
> > proton::link_options&)'
> > /tmp/qpid-proton-0.12.0/proton-
> > c/bindings/cpp/include/proton/link_options.hpp:60: error: changes
> > meaning of `link_options' from `class proton::link_options'
> > make[2]: *** [proton-c/bindings/cpp/CMakeFiles/qpid-proton-
> > cpp.dir/src/acceptor.cpp.o] Error 1
> > make[1]: *** [proton-c/bindings/cpp/CMakeFiles/qpid-proton-
> > cpp.dir/all] Error 2
> 
> From what I understand, this is due to a clash between the class
> proton::link_options and the method proton::container::link_options
> which cannot have the same name. 

As far as I can tell (and the compilers we test on seem to agree) there
is no name clash here (it is probably a name lookup bug in the
compiler)!

You could try explicitly making the declaration:

void link_options(const proton::link_options&);

But I doubt this will help, as the compiler seems to know this already
and the name is not ambiguous.

HTH

Andrew



Reply via email to