lava / matplotlib-cpp

Extremely simple yet powerful header-only C++ plotting library built on the popular matplotlib
MIT License
4.37k stars 1.13k forks source link

Undefined symbols for architecture arm64:.... #344

Open cmezavalle opened 1 year ago

cmezavalle commented 1 year ago

Hello,

First, thanks for the great code. It is very helpful to have something nice to visualize the c++ results.

I have go through the code and it seems I am compiling it correctly. However, I am having the following error after the compilation:

"Undefined symbols for architecture arm64: "_engClose", referenced from: _main in MatlabPlot-8d1732.o "_engEvalString", referenced from: _main in MatlabPlot-8d1732.o "_engGetVariable", referenced from: _main in MatlabPlot-8d1732.o "_engOpen", referenced from: _main in MatlabPlot-8d1732.o "_engOutputBuffer", referenced from: _main in MatlabPlot-8d1732.o "_engPutVariable", referenced from: _main in MatlabPlot-8d1732.o "_mxCreateDoubleMatrix_800", referenced from: _main in MatlabPlot-8d1732.o "_mxDestroyArray_800", referenced from: _main in MatlabPlot-8d1732.o "_mxGetClassName_800", referenced from: _main in MatlabPlot-8d1732.o "_mxGetPr_800", referenced from: _main in MatlabPlot-8d1732.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)"

I wonder if there is a solution for this. I am running in an M1 MacBook Pro.

Thanks in advance.

ivnprad commented 1 year ago

did you find an answer I have the same problem ?

cmezavalle commented 1 year ago

I have not. I posted the same issue in another repository as well, but no news.

https://github.com/Cryoris/matplotlib-cpp/issues/6

ivnprad commented 1 year ago

I added this to the linker flags and it worked. I needed to tell c++ to link the Python API

            "-L/Library/Frameworks/Python.framework/Versions/3.11/lib",
            "-lpython3.11"
cmezavalle commented 1 year ago

Cool. Is it possible you can share your matplotlibcpp file and the line you used to compile? It seems I am still having something incorrect.

Thanks!

cmezavalle commented 1 year ago

Hi @ivnprad, would you mind to share the matplotlibcpp file and the line you used to compile?

Thanks in advance!!