Я пытаюсь понять, как использовать библиотеку Trompeloeil с C ++ 11. В этом примере я столкнулся с огромным количеством ошибок при сборке и не могу понять, почему.
#define CATCH_CONFIG_MAIN
#include "catch.hpp"
#include <rapidcheck.h>
#include <rapidcheck/state.h>
#include <trompeloeil.hpp>
#include "../../../include/Orion.h"
#include "../../../include/optionCheckerFileHandler.h"
class mock{
public:
MAKE_MOCK1(getFileParams, int(int));
};
TEST_CASE( "Factorials are computed", "[factorial]" ) {
using trompeloeil::_; // wild card for matching any value
using trompeloeil::gt; // greater-than match
mock m;{
REQUIRE_CALL_V(m, getFileParams(1)).RETURN(0);
}
}
Существует огромное количество ошибок при сборке, но те, которые мне выделяются следующие:
In file included from /home/adny/tortoiseSoftworks/software/gamedev/tortoiseGamedev/test/testing/src/main.cpp:5:0:
/home/adny/tortoiseSoftworks/software/gamedev/tortoiseGamedev/test/testing/src/main.cpp: In function ‘void ____C_A_T_C_H____T_E_S_T____0()’:
/home/adny/tortoiseSoftworks/software/gamedev/tortoiseGamedev/test/testing/lib/trompeloeil/include/trompeloeil.hpp:4727:3: error: ‘class std::unique_ptr<trompeloeil::expectation>’ has no member named ‘handle_return’
handle_return(
, а также
/home/adny/tortoiseSoftworks/software/gamedev/tortoiseGamedev/test/testing/lib/trompeloeil/include/trompeloeil.hpp:3891:7: error: static assertion failed: RETURN missing for non-void function
static_assert(valid_return_type, "RETURN missing for non-void function");
Если бы кто-то мог помочь мне разобраться в этом, это было бы очень признательно. Я могу предоставить полные ошибки сборки по запросу