2

ビルド時にサブディレクトリに含まれるすべてのクラスがコンパイルされるように、SConstruct ファイルにどのコードを記述する必要がありますか? 現時点で、私の SConstruct ファイルは次のようになっています。

VariantDir('build', '.')
env=Environment(CPPPATH=['#'],
                CPPDEFINES=[],
                LIBS=['-lpng', '-lassimp', '-lglfw3', '-lGLEW', '-lGLU', '-lGL', '-lX11', '-lXxf86vm', '-lXrandr', '-lpthread', '-lXi'],
                CXXFLAGS="-std=c++11")
env.Program(target='exec_test', source=[Glob('build/*.cpp')])

プロジェクトをビルドするとundefined reference to、サブディレクトリにあるクラスのメソッドを呼び出すときにエラーが発生します。クラスをルート ディレクトリに移動すると、エラーは発生しません。

注: 別のディレクトリでのビルドはこれとは関係ありません! ルートディレクトリにビルドしてみましたが、何も変わりませんでした! :)

4

1 に答える 1