私はVS 6で書かれたコードのセットを持っています。私はVS 2008のCLIラッパーを書くことを試みています。私はVS6ヘッダーファイルをCLIコードに入れてコンパイルしました。
コンパイル中はLNK2001: unresolved external symbol "public: virtual void __thiscall Someclass::SomeMethod(SomeObject& os)
です。
エラーでメソッドとクラスを検索したとき、それはコードに対応しています。解決方法LNK2001
ヘッダーファイル。私は
virtual void SomeMethod(SomeObject& os) {};
として開閉中括弧を追加することによって、ヘッダファイルで宣言を行うと
class SomeClass: public ParentClass
{
virtual void SomeMethod(SomeObject& os);
}
CPPファイル
void SomeClass::SomeMethod(SomeObject& os)
{
//Implementation here
}
のsomeMethodは実際ParentClass
からオーバーライドされます
エラーが表示されなくなります。しかし、それは2つの体を持つ1つの方法につながるので、私はそれをすることはできません。なぜこの動作ですか?どのように私はこれを克服するのですか?または、CLIにBS6ヘッダーを含めて#pragmaを置く必要がありますか?
テンプレートが含まれていますか?それはすべてを変えるからです。私はそうではないと思うだろうが、確かめると思った。 –