Re: [petsc-dev] need c++ expert help
Matthew Knepley <[email protected]> writes:
On Sun, Dec 31, 2017 at 2:35 PM, Jed Brown <[email protected]> wrote:
Matthew Knepley <[email protected]> writes:
On Sun, Dec 31, 2017 at 1:55 PM, Jed Brown <[email protected]> wrote:
These look like linker errors and that build uses --with-cxxlib-autodetect=0. We either need a rule to *link* C++ using CXX (i.e., mpicxx) or add LIBS=-lstdc++.
I thought we were doing this (linking C++ mains with CXX).
After compiling to the object file (ex3.o) we don't know what language main was written in, and this doesn't solve the actual problem that C++ linking is required if any object (not just main) depends on C++.
My thinking here was the following:
1) No C++ is allowed in PETSc, unless --with-clanguage=cxx, in which case the linker is C++ 2) If C++ is in an external library, then that configure requires the C++ library 3) The executable itself could be C++, in which case I proposed using the C++ linker explicitly
About not knowing which objects come with C++ main: I thought we did. Don't they go into a separate set?
Right, we do have that information for tests. Note that a single test executable can depend on multiple source files, and the one containing main might not be C++ while another is. I don't know if there are any such instances in PETSc. I can change the build rules for tests with C++ sources later today.
participants (1)
-
Jed Brown