私はすでにエラーについての投稿を見ましたが、これはいくつかの違いがあります。だからこれを閉じないでください。私は、インターフェイスクラスを持って、私はインターフェイスクラスを継承し、インターフェイスクラスのメソッドをオーバーライドするクラスがあります。コードはこのように見えます基本クラスは定義されていませんか?
//interface file
//Interface.h
class A
{
virtual method1();
};
//b.h
#include "Interface.h"
class B : public A
{
//declaration
}
//b.cxx
#include b.h
B::method1()
{
//definition
}
私はこれらのクラスをすべてdllでエクスポートしています。そして、私はexeからdllでメソッドとクラスを使用しています。このexeはもう一度somesクラスを含んでいます。これらのクラスは同じインターフェイスファイルを継承し、method1()も使用します。だから使用するmethod1()私のファイルにb.hを含めています。私のinclude文の順序がInterface.hとb.hの場合、exeのコンパイラエラーが発生します。 "基本クラスが定義されていません"と言っています。しかし、もし私がInclude文を並べ替えると、コンパイルエラーは発生しません。いずれにせよ、この問題の根本的な理由が何であるかを私に示唆することができます。
をあなたは完全な誤りを添付することはできますか?単純にエラーが失われた可能性があります –
実際にエラーを生成する完全なエラーメッセージとコードスニペットを投稿してください。さもなければ、私達はすべてちょうど推測するでしょう。 – arne