私はVisual Studioの新機能ではありませんが、これに関する多くの質問があります。しかし、私は本当にこれを理解することはできません。これはエラーです:Visual Studio 2015で未解決の外部シンボルリンカーエラー
1>moc_displaycounter.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const Counter::staticMetaObject" ([email protected]@@[email protected]@B)
1>moc_displaymanometer.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const ManoMeter::staticMetaObject" ([email protected]@@[email protected]@B)
1>moc_displaysvgmeter.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const SVGMeter::staticMetaObject" ([email protected]@@[email protected]@B)
だから私は、インポートライブラリにDUMPBIN /輸出を行なったし、それがこの返された:私は、インポートライブラリ上の正確な署名を確認
Microsoft (R) COFF/PE Dumper Version 14.00.24210.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file analogwidgets.lib
File Type: LIBRARY
Exports
ordinal name
[email protected]@[email protected]@@@Z (public: __cdecl AbstractMeter::AbstractMeter(class QWidget *))
[email protected]@@[email protected]@B (public: static struct QMetaObject const Counter::staticMetaObject)
[email protected]@@[email protected]@B (public: static struct QMetaObject const Item::staticMetaObject)
[email protected]@@[email protected]@B (public: static struct QMetaObject const Led::staticMetaObject)
[email protected]@@[email protected]@B (public: static struct QMetaObject const ManoMeter::staticMetaObject)
[email protected]@@[email protected]@B (public: static struct QMetaObject const PotentioMeter::staticMetaObject)
[email protected]@@[email protected]@B (public: static struct QMetaObject const SVGMeter::staticMetaObject)
を。良い尺度のために、がに依存していることを確認して、これらのシンボルがDLL内にあることを確認しました(はい、私はリンクプロセスに参加しませんが、インポートライブラリが壊れていないことを確認しています)リンクされません。デバッグとリリースx64ビルドの両方を試してみましたが、成功しませんでした。以前はVSの他のバージョンでは問題はありませんでした。
次に何をすべきかに関するアイデアはありますか?
静的なクラス変数を定義するのを忘れてしまったようです。 –
未定義の外部シンボルエラーは、何かを宣言して定義するのを忘れた場合に発生します。メンバー関数または静的変数である可能性があります。 –