【问题标题】:CppuTest to build with C++11 versions使用 C++11 版本构建的 CppuTest
【发布时间】:2016-05-06 23:12:51
【问题描述】:

在Ubuntu下安装g++ 4.9.0(实验)版本(我正在使用该版本提供的某些功能)

在构建代码时,我使用脚本中的cmake,它可以正确构建。下面的gcc包含了g++的安装路径(/mnt...)

$_cmake_ $_dir_ -DCMAKE_CXX_COMPILER=${_gpp_} -DCMAKE_C_COMPILER=${_gcc_} -DCMAKE_BUILD_TYPE=${_build_} -DCMAKE_INSTALL_PREFIX=${_install_} -DBUILD_TESTING:BOOL=1 

现在,当我使用 CppuTest 为我的代码构建单元测试时,我收到以下错误。

make all 
compiling UncrosserTest.cpp

In file included from /home/miguel/Desktop/Ugur/scmProject/scm/dist/dev/mfx_prod/scm/20160207/include/scm/services/primitives.hpp:4:0,
                 from /home/miguel/Desktop/Ugur/scmProject/log/lidya/src/cpp/scm/services/examples/dummy_strategy/Inside.hpp:6,
                 from AllTests/Uncrosser/UncrosserTest.cpp:7:
/usr/include/c++/4.9/experimental/optional: In member function ‘void std::experimental::_Optional_base<_Tp, _ShouldProvideDestructor>::_M_construct(_Args&& ...)’:
/usr/include/c++/4.9/experimental/optional:294:18: error: expected type-specifier
           ::new (std::__addressof(this->_M_payload))
                  ^
/usr/include/c++/4.9/experimental/optional:294:18: error: expected ‘)’
/usr/include/c++/4.9/experimental/optional: In member function ‘void std::experimental::_Optional_base<_Tp, false>::_M_construct(_Args&& ...)’:
/usr/include/c++/4.9/experimental/optional:424:18: error: expected type-specifier
           ::new (std::__addressof(this->_M_payload))
                  ^
/usr/include/c++/4.9/experimental/optional:424:18: error: expected ‘)’
make: *** [objs/AllTests/Uncrosser/UncrosserTest.o] Error 1

在 CppuTest makefile 中包含了CPPUTEST_CPPFLAGS += -std=c++1y。我猜这个makefile中缺少一些标志,因为正如我所说,C++实验库在我的“常规”代码中正确构建。我错过了什么?

【问题讨论】:

    标签: c++11 makefile cpputest


    【解决方案1】:

    可能是包含问题,请参阅CppUTest Manual - 与 operator new 宏 (STL!) 冲突与我自己的重载冲突!

    部分

    TL;DR

    UncrosserTest 中为 CppUTest 添加包含 你的。

    代替

    #include <CppUTest/TestHarnes.h>
    #include "whatever.h"
    

    #include "whatever.h"
    #include <CppUTest/TestHarnes.h>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      • 2020-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多