[petsc-users] Problems about Compiling Multifile Program

Matthew Knepley knepley at gmail.com
Tue Oct 23 12:46:10 CDT 2018


On Tue, Oct 23, 2018 at 11:37 AM Yingjie Wu <yjwu16 at 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/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20181023/b413c13f/attachment.html>


More information about the petsc-users mailing list