0

I've run into a problem trying to call boundary conditions in halide code. I'm using the binary build halide-mac-64-trunk... from the site. I've had no other problems calling other halide functions.

Image input = load_image(argv[1]);

bounded_luma = Halide::BoundaryConditions::repeat_edge(input);

Undefined symbols for architecture x86_64: "Halide::BoundaryConditions::repeat_edge(Halide::Func const&, std::__1::vector, std::__1::allocator > > const&)", referenced from: Halide::Func Halide::BoundaryConditions::repeat_edge, int, int, int, int>(Halide::Buffer, int, int, int, int) in main.o ld: symbol(s) not found for architecture x86_64

1 Answers1

0

The __1s indicate that it could be that libHalide was compiled with libc++, and you're compiling with libstdc++ (or vice-versa). Try adding -stdlib=libc++ or -stdlib=libstdc++ to your compile flags.

Andrew Adams
  • 1,396
  • 7
  • 3