ファンキーな複数定義エラーが発生します。インクルード構造は次のとおりです。
MAIN -> VM -> BACKEND
メインには、バックエンドを含む vm が含まれます。
バックエンドに3 つのグローバルchar *
ポインターがあり、複数の定義エラーが発生するのはメンバーです。
vm.cpp
、main.cpp
およびmoc_vm.cpp
(Qtを使用しています)で複数の定義を取得します。
残りのソースでポインターを外部として宣言しようとしましたが、役に立ちませんでした。すべてのプリプロセッサ ガードが配置されていますが、明らかに 1 か所でしか定義されていないため、なぜエラーが発生するのかわかりません...
何か案は?
編集:これは奇妙です。BACKEND を MAIN に含めることができ、問題はありません。チェーンが MAIN>VM>BACKEND の場合にのみ、エラーが発生します。