大規模な C++ プロジェクトをコンパイルしようとすると、この奇妙なエラーが発生します。リンクエラーであることは知っていますが、それが何であるかを正確に理解できませんでした。
test_oqlquery.o:(.rodata._ZTV8r_MarrayIhE[vtable for r_Marray]+0x8): undefined reference to r_Marray<unsigned char>::~r_Marray()'
test_oqlquery.o:(.rodata._ZTV8r_MarrayIhE[vtable for r_Marray<unsigned char>]+0xc): undefined reference to
r_Marray::~r_Marray()'
test_oqlquery.o:(.rodata._ZTV8r_MarrayIhE[vtable for r_Marray]+0x28): undefined reference to `r_Marray::print_status(std::basic_ostream >&) const'
このエラーはどういう意味ですか? また、エラーが発生している行番号を確認することはできますか? どのように ?私は主にこれが何を意味するのかに関心があります
".rodata._ZTV8r_MarrayIhE[r_Marray の vtable]+0x28"
実際、私のエラーはこのようなものですが、山括弧内のすべてが欠落している理由がわからないため、「」に置き換えてください。詳細なエラーは次のとおりです。テンプレートのインスタンス化にも関係しています。
test_oqlquery.o:(.rodata._ZTV8r_MarrayIhE[vtable for r_Marray"unsigned char"]+0x8): undefined reference to `r_Marray"unsigned char"::~r_Marray()'
g++ 4.3.3 を使用しています。
申し訳ありませんが、ソース コード全体は非常に大きく、複数のディレクトリにまたがっているため、ここに送信することはできません。
どうもありがとう。