2017-09-11 13:11 GMT-04:00 曾元圆 <
2012...@gmail.com>:
> Because I have already installed dealii, I don't quite understand what you
> mean by saying "configuring". Do you mean I need to recompile the whole
> dealii then it can know where to find lapack? LAPACK is a third party
> library right? so all I need to do is to tell the compiler where is the
> header and library. I suppose perhaps I don't need to configure dealii
> again? sorry I really don't know much about cmake. Forgive me if I asked
> you some silly questions.
To install deal.II, you have basically two steps: 1) the configuration
(that's when you use cmake and give all the options that you want for
example -DDEAL_II_WITH_UMFPACK=ON) 2) the compilation itself.
In step 1, all the compiler commands are generated and they are
executed during step 2. Like you correctly said, you need to tell the
compiler where the header and the library are, this is done during
step 1. However, this is slightly more complicated that just giving a
path, because some part of deal.II are only activated if some
libraries are present. For example, if you are using UMFPACK some
files will need to be compiled but if you are not using UMFPACK they
won't be compiled. So having deal.II compiled without UMFPACK support
and then, adding the flags to the library won't work because the files
that allow to use UMFPACK from deal.II won't be compiled. Basically
deal.II would not be aware that UMDPACK is installed. So what you need
to do is to reinstall deal.II from the very beginning in a new
directory.
Does it make sense?
Best,
Bruno