Turtle(模拟框架)编译错误

Turtle (mock framework) compilation errors

本文关键字:编译 错误 框架 模拟 Turtle      更新时间:2023-10-16

我正在尝试在 Turtle 中编译一个简单的示例(使用提升单元测试框架(,并从 Turtle 中收到编译错误。

我假设 Turtle 并没有真正的错误,这是我做错了或不兼容的地方。

任何帮助将不胜感激。


示例:

#define BOOST_TEST_MAIN
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#include <turtle/mock.hpp>
BOOST_AUTO_TEST_CASE(trutletest){
     BOOST_CHECK(1 == 4);
}

**我已经蒸馏了它,所以它甚至不使用任何Turtle功能,只是包括它会导致错误。

我得到的错误:

In file included from ../turtle/include/turtle/detail/../matcher.hpp:14,
                 from ../turtle/include/turtle/detail/function.hpp:16,
                 from ../turtle/include/turtle/detail/functor.hpp:12,
                 from ../turtle/include/turtle/reset.hpp:14,
                 from ../turtle/include/turtle/mock.hpp:14,
                 from test.cpp:5:
../turtle/include/turtle/detail/../detail/is_functor.hpp:22: error: expected constructor, destructor, or type conversion before ‘(’ token
In file included from ../turtle/include/turtle/detail/function.hpp:16,
                 from ../turtle/include/turtle/detail/functor.hpp:12,
                 from ../turtle/include/turtle/reset.hpp:14,
                 from ../turtle/include/turtle/mock.hpp:14,
                 from test.cpp:5:
../turtle/include/turtle/detail/../matcher.hpp:87: error: ‘is_functor’ is not a member of ‘mock::detail’
../turtle/include/turtle/detail/../matcher.hpp:87: error: ‘is_functor’ is not a member of ‘mock::detail’
../turtle/include/turtle/detail/../matcher.hpp:87: error: template argument 1 is invalid
../turtle/include/turtle/detail/../matcher.hpp:88: error: template argument 3 is invalid
../turtle/include/turtle/detail/../matcher.hpp:89: error: expected unqualified-id before ‘>’ token

编译行:g++ 测试.cpp -o 测试 -I ..//包括/-lboost_unit_test_framework

我正在使用:g++ (GCC( 4.4.6 20120305 (Red Hat 4.4.6-4(海龟 1.2.4

正如cv_and_he评论的那样,问题在于使用旧的增强版本。
更新到最新的提升 (1.54.0( 解决了这个问题。