Der Einfachheit halber respektieren variant_dir, ich bin in der Lage, dieses Problem zu reproduzieren ich mit dem folgenden Beispiel habe ...scons nicht mit Objektdateien
ich zur Zeit zwei Dateien, eine SConstruct und ein SConscript.
Mein Verzeichnisbaum ist wie folgt:
- .
- SConstruct
- build (dir)
- dir1 (dir)
- mysrc.cpp
- proj (dir)
- SConscript
Hier ist der Inhalt meiner SConstruct:
SConscript('dir1/proj/SConscript', variant_dir='build/out', duplicate=0)
Hier ist der Inhalt von dir1/proj/SConscript:
src = Dir('.').srcnode().abspath + '/../mysrc.cpp'
StaticLibrary('mylib', src)
Wenn ich scons
an meinem Stammverzeichnis ausführen, sehe ich die folgende Ausgabe
g++ -o dir1/mysrc.o -c dir1/mysrc.cpp
ar rc build/out/libmylib.a
Der ar Befehl sieht gut aus, gibt es an den variant_dir, die/aus ist zu bauen. Das Problem hier ist der Ausgabeort von mysrc.o. Es geht nach dir1 anstelle von build/out. Warum passiert das?