我想知道在尝试“制作”我的程序时如何找出变量被覆盖的位置。这是编译器错误:
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 并适当地更新路径变量。