C code generation symbols not found linker error

조회 수: 3 (최근 30일)
awezmm
awezmm 2020년 8월 9일
편집: Ryan Livingston 2020년 8월 10일
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.

답변 (2개)

Walter Roberson
Walter Roberson 2020년 8월 9일

Ryan Livingston
Ryan Livingston 2020년 8월 10일
편집: Ryan Livingston 2020년 8월 10일
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.

카테고리

Help CenterFile Exchange에서 MATLAB Coder에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by