我想知道当试图“制作”我的程序时,如何找出变量被覆盖的位置。以下是编译器错误:
Loading /home/tyler/Software/Cpp/Cpp_Libraries/PelePhysics/Submodules/amrex/Tools/GNUMake/comps/gnu.mak...
Loading /home/tyler/Software/Cpp/Cpp_Libraries/PelePhysics/Submodules/amrex/Tools/GNUMake/sites/Make.unknown...
Loading /home/tyler/Software/Cpp/Cpp_Libraries/PelePhysics/Submodules/amrex/Tools/GNUMake/packages/Make.sundials...
make: /home/tyler/Software/Cpp/Cpp_Libraries/PelePhysics/Submodules/amrex/Tools/F_scripts/findparams.py: No such file or directory
make: Warning: File 'tmp_build_dir/o/2d.gnu.EXE/AMReX_buildInfo.d' has modification time 26084 s in the future
make: *** No rule to make target '/Users/tfara/amrex/Src/Extern/SUNDIALS/AMReX_NVector_MultiFab.cpp', needed by 'tmp_build_dir/o/2d.gnu.EXE/AMReX_NVector_MultiFab.o'. Stop.
我相信我可以准确地告诉你问题所在:我以前处理过这段软件,在那台机器上,一个名为
AMREX_HOME
设置为
/Users/tfara/amrex/
。现在我在另一台机器上
AMREX_HOME
应设置为
/home/tyler/Software/Cpp/Cpp_Libraries/PelePhysics/Submodules/amrex/
。问题是,PelePhysics和AMREX程序是巨大的、专业开发的程序包,当它们被制作出来时,会包含一个巨大的中间makefile链,我无法完全理解。
因此,您可以从编译器错误中看到,前三个“加载”使用了正确的
AMREX_HOME
变量这是因为我在自己的makefile中设置了该变量。但在这一过程中的某个地方
AMREX_HOME
变量被覆盖。我想让编译器告诉我谁在试图生成目标
/Users/tfara/amrex/Src/Extern/(etc)
这样我就可以转到那个makefile并适当地更新路径变量。