私はQuickFAST
自分のプロジェクトで使用しています。コンパイルしようとすると、 で多くのコンパイル時エラーが発生しQuickFAST
ます。しかし、QuickFAST
コードは有効であることが保証されています (そして、コードを個別に開くと、コンパイルできます)。
有効なコードでこのコンパイル時エラーが表示されるのはなぜですか?また、その修正方法は?
typedef boost::shared_ptr<ValueMessageBuilder> ValueMessageBuilderPtr;
Error 3 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int e:\quickfast\quickfast_1_4_0\src\messages\ValueMessageBuilder_fwd.h 14 1 FastNativeAdapter
typedef boost::uint16_t uint16;
Error 15 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int E:\quickfast\quickfast_1_4_0\src\Common\Types.h 23 1 FastNativeAdapter
typedef boost::shared_ptr<ValueMessageBuilder> ValueMessageBuilderPtr;
Error 1 error C2653: 'boost' : is not a class or namespace name e:\quickfast\quickfast_1_4_0\src\messages\ValueMessageBuilder_fwd.h 14 1 FastNativeAdapter
void setValue(const uint64 value)
Error 255 error C2535: 'void QuickFAST::Value::setValue(const int)' : member function already defined or declared E:\quickfast\quickfast_1_4_0\src\Common\Value.h 99 1 FastNativeAdapter
virtual void addValue(FieldIdentityCPtr & identity, ValueType::Type type, const uint64 value) = 0;
Error 45 error C2535: 'void QuickFAST::Messages::ValueMessageBuilder::addValue(QuickFAST::Messages::FieldIdentityCPtr &,QuickFAST::ValueType::Type,const int)' : member function already defined or declared E:\quickfast\quickfast_1_4_0\src\Messages\ValueMessageBuilder.h 42 1 FastNativeAdapter
void setValue(const int8 value)
{
class_ = SIGNEDINTEGER;
cachedString_ = false;
signedInteger_ = value;
}
Error 310 error C2065: 'value' : undeclared identifier E:\quickfast\quickfast_1_4_0\src\Common\Value.h 147 1 FastNativeAdapter
boost
include ファイルと lib ファイルがプロジェクトに追加されます。
更新:
QuickFAST
そのように file を含めるだけで十分であることがわかりました#include "Messages/ValueMessageBuilder.h"
。QuickFAST
その後、クラスをインスタンス化または使用しないという事実にもかかわらず、上記のコンパイルエラーを受け取ります。
削除するとエラーが消えます(プログラム全体でファイル#include "Messages/ValueMessageBuilder.h"
を参照することはないため.QuickFAST
つまり、ファイルをインクルードするだけで十分です。おそらくどういうわけかQuickFAST
、ソースが私のプロジェクトに間違ってリンクされていますか? プロジェクトのプロパティにインクルード ファイルと lib ファイルを追加しました...