Borrar filtros
Borrar filtros

C code generation symbols not found linker error

2 visualizaciones (últimos 30 días)
awezmm el 9 de Ag. de 2020
Editada: Ryan Livingston el 10 de Ag. de 2020
I generated C code for my matlab functions and created a package by following the instructions at Package Code for Other Development Environments.
I had configured code generation for example main files.
After everything was complete, I tried to compile my code using
clang main.c -o out
However, I get the error:
Undefined symbols for architecture x86_64:
"_cg_imadjust", referenced from:
_main_cg_imadjust in main-b5a3fb.o
"_cg_imadjust_terminate", referenced from:
_main in main-b5a3fb.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I have tried looking up other solutions online but they mostly talk about mex file generation whereas I am trying to compile C code. Other solutions talked about having a main.c file but I already have one. I am confused on what the issue is.
I have attached my package zip file (that includes the main.c and main.h files). I am using Mac 10.15.6.
Thank you.

Respuestas (2)

Walter Roberson
Walter Roberson el 9 de Ag. de 2020

Ryan Livingston
Ryan Livingston el 10 de Ag. de 2020
Editada: Ryan Livingston el 10 de Ag. de 2020
In your ZIP file you'll notice files cg_imadjust.c, cg_imadjust_interminate.c that also need to be compiled and linked. main.c calls functions implemented in those files causing this error.
Try something like
clang *.c *.dylib
to compile and link in all of the C files and shared libraries to avoid those and other errors.


Más información sobre C Shared Library Integration en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by