私はこれを過去数日間見てきましたが、成功しませんでした。Qtでグラフィックアプリケーションを作成しようとしています。私の LNK2019 は、実装されていないコンストラクターから発生する必要があるようです。
main.obj:-1: error: LNK2019: unresolved external symbol "public: __cdecl ArbObject::ArbObject(class Table *,int *,int,int,int,int,int)" (??
0ArbObject@@QEAA@PEAVTable@@PEAHHHHHH@Z) referenced in function "class std::vector<class ArbObject *,class std::allocator<class ArbObject *> > __cdecl
createArbObjects(class QList<class QStringList> &,class Table *,int &)" (?createArbObjects@@YA?AV?$vector@PEAVArbObject@@V?$allocator@PEAVArbObject@@@std@@@std@@AEAV?
$QList@VQStringList@@@@PEAVTable@@AEAH@Z)
ただし、コンストラクターは存在し、適切な .cpp ファイルに実装されています。
.h file has this:
ArbObject(Table* tr, int* rgb, int t, int xpos, int ypos, int w, int h);
.cpp file has this:
ArbObject::ArbObject(Table* tr, int* rgb, int t, int xpos, int ypos, int w, int h)
: QWidget((QWidget*)tr), obj_typ(t), xpos(xpos), ypos(ypos),wid(w), hei(h)
{
...
}
思いつくものはすべて入れました。これは Windows マシンでは機能しませんが、Mac では完全に機能します。私の質問は、どのような種類の依存関係がこの種の問題を引き起こす可能性があるのですか? 問題を解決するために他にどのような手段を検討できますか?
- コンパイラベースですか?MSVC 対 Clang
- 両方ともリンク プロセスに異なるファイルを含めてください。したがって、あるプラットフォームでは別のプラットフォームでは機能しない可能性があります。
編集:修正
答えを見てください!