Example src/snes/tutorials/examples/ex15.c
Hi, I've been trying to build/link src/snes/tutorials/examples/ex15.c for the case that I have defined 'clanguage' to be C++ on the configure line. I get the following error: Undefined symbols for architecture x86_64: "SNESPicardComputeFunction(_p_SNES*, _p_Vec*, _p_Vec*, void*)", referenced from: _main in ex15.o "SNESPicardComputeJacobian(_p_SNES*, _p_Vec*, _p_Mat**, _p_Mat**, MatStructure*, void*)", referenced from: _main in ex15.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status make: [ex15] Error 1 (ignored) /bin/rm -f ex15.o The error appears related to name mangling and can be fixed if I add: extern "C" { extern PetscErrorCode SNESPicardComputeFunction(SNES,Vec,Vec,void*); extern PetscErrorCode SNESPicardComputeJacobian(SNES,Vec,Mat*,Mat*,MatStructure*,void*); } to the top of src/snes/tutorials/examples/ex15.c. Note that this error does not occur if building PETSc with default settings where the C compiler is used to build the library and the example. Thanks, Travis =============================== Travis Austin, Ph.D VP, Computational Mathematics Tech-X Corporation 5621 Arapahoe Ave Boulder, CO 80303 [email protected] ===============================
participants (1)
-
Travis Austin