cucumber / cucumber-cpp

Support for writing Cucumber step definitions in C++
MIT License
306 stars 131 forks source link

Boost 1.7x build incompatibility due to invalid method signature #238

Closed dmeehan1968 closed 3 years ago

dmeehan1968 commented 3 years ago

Failing Code:

Boost commit that breaks Cucumber-cpp:

Compiler Error:

.../cucumber-cpp/src/drivers/BoostDriver.cpp:53:10: error: 'cucumber::internal::CukeBoostLogInterceptor::log_build_info' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
    void log_build_info( std::ostream&) {};
         ^
/usr/local/include/boost/test/unit_test_log_formatter.hpp:144:25: note: hidden overloaded virtual function 'boost::unit_test::unit_test_log_formatter::log_build_info' declared here: different number of parameters (2 vs 1)
    virtual void        log_build_info( std::ostream& os, bool log_build_info = true ) = 0;
                        ^
.../cucumber-cpp/src/drivers/BoostDriver.cpp:122:26: error: allocating an object of abstract class type 'cucumber::internal::CukeBoostLogInterceptor'
    logInterceptor = new CukeBoostLogInterceptor;
                         ^
/usr/local/include/boost/test/unit_test_log_formatter.hpp:144:25: note: unimplemented pure virtual method 'log_build_info' in 'CukeBoostLogInterceptor'
    virtual void        log_build_info( std::ostream& os, bool log_build_info = true ) = 0;
                        ^
2 errors generated.
dmeehan1968 commented 3 years ago

Pull Request: https://github.com/cucumber/cucumber-cpp/pull/239

jermus67 commented 3 years ago

Pull Request: #239 was marked (by @dmeehan1968) as a duplicate of pull request #225 . Pull request #225 has been merged, and the main branch now compiles with boost 1.7x.

Based on the above described observation I think this issue can be closed.

Thanks for the energy you put in helping fix the issue.