Skip to content

Virtual Function computeNbModels missing =0 in DAG.hh #12

@eternity8

Description

@eternity8

When compiling for Mac Arm64 (using g++ and c++ 14 for std), I was getting a linker error stating:

Undefined symbols for architecture arm64:
  "DAG<boost::multiprecision::number<boost::multiprecision::backends::gmp_int, (boost::multiprecision::expression_template_option)1>>::computeNbModels()", referenced from:
      vtable for DAG<boost::multiprecision::number<boost::multiprecision::backends::gmp_int, (boost::multiprecision::expression_template_option)1>> in Main.o
  "DAG<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<0u>, (boost::multiprecision::expression_template_option)1>>::computeNbModels()", referenced from:
      vtable for DAG<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<0u>, (boost::multiprecision::expression_template_option)1>> in Main.o
ld: symbol(s) not found for architecture arm64

This was after updating to the arm64 binary for gmp

It was fixed for me by replacing virtual T computeNbModels(); with virtual T computeNbModels()=0; in DAG/DAG.hh

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions