c++ - std C++ 17不支持CPPUNIT吗?

标签 c++ c++17 visual-studio-2019 cppunit

该代码在VS2015中可以正常编译,但在VS2019中,代码会为CPPUNIT引发错误。 C++ 17 std不支持吗?如果没有解决这些错误:
码:

    class CAbcTestCase : public CppUnit::TestCase
    {
    
    CPPUNIT_TEST_SUITE(CAbcTestCase);       
    
            CPPUNIT_TEST(AbcThruRMB);
            CPPUNIT_TEST(AbcMultiThruRMB);
            CPPUNIT_TEST(AbcFolderThruRMB);
            CPPUNIT_TEST(AbcUseFileThruRMB);
            ........
            ........
            //CPPUNIT_TEST(Abc_UpdateRegistry);
            CPPUNIT_TEST(Abc_Initialize);
        **CPPUNIT_TEST_SUITE_END();** // *This line has all the below mentioned errors*
}
CPPUNIT错误:
错误C2039'auto_ptr':不是'std'的成员
错误C2065'auto_ptr':未声明的标识符。
错误C2660'CHistoryTestCase::suite':函数未使用1个参数
错误C2275'CppUnit::TestSuite':非法使用此类型作为表达式
错误( Activity )E0135 namespace “std”没有成员“auto_ptr”

最佳答案

Does std C++17 does not support CPPUNIT?


您的关系倒退了。该程序必须与编程语言兼容。因此,问题是,(此版本的)CPPUNIT是否可以与C++ 17一起使用?
基于错误,如果 CPPUNIT确实确实使用std::auto_ptr,则它与C++ 17不兼容,因为该类已从标准库中删除。
就是说,也许这是与C++ 17而不是CPPUNIT本身不兼容的测试用例之一吗?还应注意,根据维基百科,CPPUNIT已被“ fork 了好几次”。如果是不兼容的框架,则可以使用主动开发的fork解决此问题。

关于c++ - std C++ 17不支持CPPUNIT吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63052437/

相关文章:

c++ - 如何在 Qt Creator 的 constexpr 函数中使用循环?

c++ - fclose 不关闭音频文件

c++ - 检查行是否为空字节

c++ - 将 typedef 函数指向另一个类中的另一个函数

c++ - std::optional::value_or_default 和 std::optional::is_engaged

c++ - std::visit 不接受作为派生类对象的可调用对象

layout - 如何删除实时共享按钮?

c# - Visual Studio 2019 导致调试缓慢和内存使用率高

c++ - ‘operator ==’ 中的 ‘a == b’ 不匹配

c++ - C/C++ 结构,在缓冲区中包含位字段