0

Visual Studio 2010 および Qt5.2/Qt3D を使用して Win7 でこのプロジェクトをコンパイルしようとすると、次のエラーが発生します。

error LNK1169: one or more multiply defined symbols found   C:\OculusQt3D\oculusqt3d\build\Debug\OculusQt3D.exe 1
error LNK2005: "public: __thiscall QArray<class QVector3D,8>::~QArray<class QVector3D,8>(void)" (??1?$QArray@VQVector3D@@$07@@QAE@XZ) already defined in mdstate.obj    C:\OculusQt3D\oculusqt3d\build\Qt53Dd.lib(Qt53Dd.dll)
error LNK2005: "public: __thiscall QArray<class QVector3D,8>::QArray<class QVector3D,8>(void)" (??0?$QArray@VQVector3D@@$07@@QAE@XZ) already defined in Qt53Dd.lib(Qt53Dd.dll)  C:\OculusQt3D\oculusqt3d\build\MULTIBILLBOARD_LIBRARY.lib(databundle.obj)
error LNK2005: "public: int __thiscall QArray<class QVector3D,8>::size(void)const " (?size@?$QArray@VQVector3D@@$07@@QBEHXZ) already defined in mdstate.obj C:\OculusQt3D\oculusqt3d\build\Qt53Dd.lib(Qt53Dd.dll)

上記のファイルはmdstate.h / mdstate.cppおよびdatabundle.h / databundle.cppおよびqarray.h / qarray.cpp です。

グーグルで調べたところ、このエラーが発生した可能性はかなりありますが、このケースを理解することはできません。

通常、これは、ヘッダーの代わりに .cpp をインクルードしたり、誤ってファイルを複数回インクルードしたり、インクルード ガードなどを欠落したりすることによって引き起こされますが、ここでは当てはまりません。

それで、誰かがここで何が問題なのか知っていますか?

4

0 に答える 0