1

テストを行うために、vc6でcxxtest4.0.3を使用しています。最初、コンパイラレポートstrcmpはstdのメンバーではありません。プロジェクト設定にCXXTEST_OLD_STDマクロを追加した後、コンパイラは「CXXTEST_STD(string)_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)) { 
4

1 に答える 1

1

私はMSVisualStudio 6にアクセスできませんが、それは古風な側面では少しではありませんか?ウィキペディアによると1998年6月にリリースされ、最初のC ++標準は1998年11月にリリースされました。したがって、C++コンパイラは古すぎてcxxtestでサポートできないのではないかと思います。

あなたは次のオプションを見ることができますcxxgentest

--no-std              Do not use standard library (even if found in tests).

他のオプションは。で確認できますcxxgentest --help


cxxtest4.0.3がMacOSX10.7.3でG++を使用して機能したことを伝えるのはあまり役に立ちませんが、機能しましi686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)た。または、少なくとも、サンプルプログラムが次の警告なしにオブジェクトファイルにコンパイルされました。

bin/cxxtestgen -o cxt.cpp test.simple.cpp
g++ -I. -c -Wall -Wextra -o cxt.o cxt.cpp
于 2012-04-25T06:54:36.540 に答える