我正在使用vc6下的cxxtest4.0.3进行测试。首先,编译器报告strcmp不是std的成员。在我将字符串宏添加到项目设置后,编译器在“CXXTEST_STD( CXXTEST_OLD_STD ) _s;”行报告缺少字符串的类型信息。
我应该如何设置宏定义?在进阶时谢谢。
以下是示例代码:
#include <cxxtest/TestSuite.h>
class CSimpleTest : public CxxTest::TestSuite
{
public:
void testCxx(void){TS_ASSERT(10 == 0); }
};以下是错误消息:
错误C2039:'strcmp‘:不是'std’的成员
cxxtest\testmain.h中的行将报告错误消息:
if ((CXXTEST_STD(strcmp)(argv[i],"-h")==0) || (CXXTEST_STD(strcmp)(argv[i],"--help")==0)) { 发布于 2012-04-25 14:54:37
我不能访问MS Visual Studio6,但这是不是有点过时了?根据Wikipedia,它于1998年6月发布,第一个C++标准于1998年11月发布。因此,我怀疑cxxtest不支持您的C++编译器太旧了。
您可以查看cxxgentest的选项
--no-std Do not use standard library (even if found in tests).您可以使用cxxgentest --help检查其他选项。
告诉您cxxtest4.0.3在带有G++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)的MacOS X 10.7.3上使用find并没有多大帮助,但它做到了-或者,至少,您的示例程序在以下位置编译为目标文件时没有出现警告:
bin/cxxtestgen -o cxt.cpp test.simple.cpp
g++ -I. -c -Wall -Wextra -o cxt.o cxt.cpphttps://stackoverflow.com/questions/10255520
复制相似问题