私は本当にこれをどうすればいいのかわかりません。iOS と Linux サーバーで共有されているコードがあります。iOS LLVM コンパイラは正常にコンパイルされますが、Linux で g++ を使用してコンパイルしようとすると、多くのエラーが発生します。最初のものは次のとおりです。
RemoveLight.h: In member function ‘void RemoveLight<WindowDerived, ChunkDerived, dim>::lightRemoveEditStart()’:
RemoveLight.h:49:17: error: ‘FloodFillLight’ was not declared in this scope
RemoveLight.h:49:45: error: expected primary-expression before ‘,’ token
RemoveLight.h:49:59: error: expected primary-expression before ‘,’ token
これは 49 行目です。
FloodFillLight<WindowDerived, ChunkDerived, dim>(x, i, z, target, chunkWindow);
FloodFillLight.h が RemoveLight.h に含まれているので、それは問題ではなく、テンプレートはすべて .h ファイルで宣言されています。テンプレートの一部が cpp ファイルに定義されていません。誰にもアイデアがありますか?