2012-04-21 10 views
1

私はvc6でcxxtest4.0.3を使ってテストしています。最初は、コンパイラレポートstrcmpはstdのメンバーではありません。プロジェクト設定にCXXTEST_OLD_STDマクロを追加した後、コンパイラは、行 "CXXTEST_STD(string)_s;"に文字列の型情報がないと報告します。マクロは約cxxtestを定義します

マクロ定義をどのように設定する必要がありますか?ありがとうございました。
エラーC2039: 'のstrcmp':ここ

#include <cxxtest/TestSuite.h> 
class CSimpleTest : public CxxTest::TestSuite 
{ 
public: 
    void testCxx(void){TS_ASSERT(10 == 0); } 
}; 

がエラーメッセージである:ここ

サンプルコードである 'STD'
cxxtest \ testmain.hにおけるラインのメンバーではありません。エラーメッセージを報告してください:

if ((CXXTEST_STD(strcmp)(argv[i],"-h")==0) || (CXXTEST_STD(strcmp)(argv[i],"--help")==0)) { 
+0

これはばかげているようですが、テストコードに正しいC++ヘッダーを含めましたか?トラブルに遭っているテストコードを表示できますか? –

+0

ご返信ありがとうございます。私は自分の投稿を編集しました。 – bucherren

答えて

1

私はMS Visual Studio 6にアクセスできませんが、古風な面で少しですか?それはWikipediaに従って1998年6月にリリースされ、1998年11月に最初のC++標準がリリースされました。したがって、あなたのC++コンパイラが古すぎてcxxtestでサポートされていないと思われます。

あなたはcxxgentestにオプションで見ることができる:

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

あなたはcxxgentest --helpと他のオプションを確認することができます。


cxxtest 4.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で見つける働いていたことを伝えるために多くの助けではありませんが、それは—をしたか、少なくとも、あなたのサンプルプログラムをせずにファイルをオブジェクトにコンパイル警告:下の警告:

bin/cxxtestgen -o cxt.cpp test.simple.cpp 
g++ -I. -c -Wall -Wextra -o cxt.o cxt.cpp 
+0

--no-stdオプションを追加した後、プログラムをコンパイルすることはできません。 vs2005の下でオブジェクトファイルにコンパイルできます。おそらく、私はvc6の下でより低いバージョンのcxxtestで作業する必要があります。 – bucherren

+0

あなたはVS2005で作業し、VC6について忘れることをお勧めします。それはスクラップに属します。あるいは、もっと慈悲深いことに、なぜ古風なバージョンを使用する必要があるのか​​を説明する必要があります。あなたは古い(4.0.x以前の)バージョンのcxxtestを使用することで逃げるかもしれません。あなたが本当にVC6を保つ必要があるなら、それは確かに試してみる価値があります。しかし、どちらもうまくいかないチャンスがあります。 –

+0

たちはVC6とC++プロジェクトを構築し、2005年とC#プロジェクトをビルドする当社でははい、私は、古いバージョンのcxxtestで動作するはずです。 Cxxtest v3.8はvc6でうまく動作します。私はcxxtestバージョンをアップグレードしたいが、それは明らかに失敗した。 – bucherren

関連する問題