Thank you very much for your reply. Because the files I added are written in c++, including definitions of classes and functions. I encountered a mistake when I used your method. myprogram: class1.o myprogram.o ${CLINKER} -o myprogram class1.o myprogram.o ${PETSC_LIB} Error information is : unknown type name 'class' It seems that I did not compile using the c++ compiler.
How should I set it up so that it can compile successfully? Thanks, Yingjie Matthew Knepley <knep...@gmail.com> 于2018年10月24日周三 上午1:46写道: > On Tue, Oct 23, 2018 at 11:37 AM Yingjie Wu <yjw...@gmail.com> wrote: > >> Dear Petsc developer: >> Hi, >> Thank you very much for your continuous help, I recently encountered some >> difficulties in developing programs on Petsc. >> >> 1. I want to use my class definition (class1. h) and class functions >> (class1. cpp) files in my Petsc program (myprogram. c) and compile my >> program. I have written other program before: >> g++ -c class1.cpp myprogram.c >> g++ -o myprogram *.o >> I also have some knowledge of Makefile, but I don't know how to modify it >> to achieve compilation. I really want your help. >> > > With PETSc makefiles, we have automatic rules, so you can use > > myprogram: class1.o myprogram.o > ${CLINKER} -o myprogram class1.o myprogram.o ${PETSC_LIB} > > >> 2. In my class definition and function implementation program, I want to >> use Petsc data structures, such as PetscInt, PetscReal. In order to >> maintain consistency of the main program. What kind of header files should >> I add to my code, or do I need to add any code? >> > > The easiest thing to do is just > > #include <petsc.h> > > Thanks, > > Matt > > >> Thanks, >> Yingjie >> > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ > <http://www.cse.buffalo.edu/~knepley/> >