我如何正确地编译MATLAB-generated C / c++代码macOS高塞拉(10.13.3)?

8视图(30天)
每当我尝试编译MATLAB C / c++代码,无论是从MATLAB编码器内部或外部使用MATLAB编码器生成源文件后,我得到了以下问题:
xcrun铿锵声- c -isysroot
/应用程序/ xcode /内容/开发/平台/ MacOSX.platform /开发/ sdk / MacOSX10.13。sdk拱x86_64-fno-common -fexceptions o0 -DMODEL = exportMe -DHAVESTDIO -DUSE_RTMODEL -DUNIX - i /用户/ ~ / MATLAB-Drive / BacktestWS / codegen / exe / exportMe - i /用户/ ~ / MATLAB-Drive / BacktestWS - i /应用程序/ MATLAB_R2018a。应用程序/走读生/包括我/应用程序/ MATLAB_R2018a。应用程序万博1manbetx/模型/包括我/应用程序/ MATLAB_R2018a。应用程序/ rtw / c / src - i /应用程序/ MATLAB_R2018a。应用程序/ rtw / c / src / ext_mode /常见的- i /应用程序/ MATLAB_R2018a。应用程序/ rtw / c / ert exportMe_initialize - o”。o exportMe_initialize.c”
xcrun铿锵声- c -isysroot /应用程序/ xcode /内容/开发/平台/ MacOSX.platform /开发/ sdk / MacOSX10.13。sdk拱x86_64-fno-common -fexceptions o0 -DMODEL = exportMe -DHAVESTDIO -DUSE_RTMODEL -DUNIX - i /用户/ ~ / MATLAB-Drive / BacktestWS / codegen / exe / exportMe - i /用户/ ~ / MATLAB-Drive / BacktestWS - i /应用程序/ MATLAB_R2018a。应用程序/走读生/包括我/应用程序/ MATLAB_R2018a。应用程序万博1manbetx/模型/包括我/应用程序/ MATLAB_R2018a。应用程序/ rtw / c / src - i /应用程序/ MATLAB_R2018a。应用程序/ rtw / c / src / ext_mode /常见的- i /应用程序/ MATLAB_R2018a。应用程序/ rtw / c / ert exportMe_terminate - o”。o exportMe_terminate.c”
xcrun铿锵声- c -isysroot /应用程序/ xcode /内容/开发/平台/ MacOSX.platform /开发/ sdk / MacOSX10.13。sdk拱x86_64-fno-common -fexceptions o0 -DMODEL = exportMe -DHAVESTDIO -DUSE_RTMODEL -DUNIX - i /用户/ ~ / MATLAB-Drive / BacktestWS / codegen / exe / exportMe - i /用户/ ~ / MATLAB-Drive / BacktestWS - i /应用程序/ MATLAB_R2018a。应用程序/走读生/包括我/应用程序/ MATLAB_R2018a。应用程序万博1manbetx/模型/包括我/应用程序/ MATLAB_R2018a。应用程序/ rtw / c / src - i /应用程序/ MATLAB_R2018a。应用程序/ rtw / c / src / ext_mode /常见的- i /应用程序/ MATLAB_R2018a。应用程序/ rtw / c / ert exportMe - o”。o exportMe.c”
xcrun铿锵声- c -isysroot /应用程序/ xcode /内容/开发/平台/ MacOSX.platform /开发/ sdk / MacOSX10.13。sdk拱x86_64-fno-common -fexceptions o0 -DMODEL = exportMe -DHAVESTDIO -DUSE_RTMODEL -DUNIX - i /用户/ ~ / MATLAB-Drive / BacktestWS / codegen / exe / exportMe - i /用户/ ~ / MATLAB-Drive / BacktestWS - i /应用程序/ MATLAB_R2018a。应用程序/走读生/包括我/应用程序/ MATLAB_R2018a。应用程序万博1manbetx/模型/包括我/应用程序/ MATLAB_R2018a。应用程序/ rtw / c / src - i /应用程序/ MATLAB_R2018a。应用程序/ rtw / c / src / ext_mode /常见的- i /应用程序/ MATLAB_R2018a。应用程序/ rtw / c / ert rt_nonfinite - o”。o rt_nonfinite.c”
xcrun铿锵声- c -isysroot /应用程序/ xcode /内容/开发/平台/ MacOSX.platform /开发/ sdk / MacOSX10.13。sdk拱x86_64-fno-common -fexceptions o0 -DMODEL = exportMe -DHAVESTDIO -DUSE_RTMODEL -DUNIX - i /用户/ ~ / MATLAB-Drive / BacktestWS / codegen / exe / exportMe - i /用户/ ~ / MATLAB-Drive / BacktestWS - i /应用程序/ MATLAB_R2018a。应用程序/走读生/包括我/应用程序/ MATLAB_R2018a。应用程序万博1manbetx/模型/包括我/应用程序/ MATLAB_R2018a。应用程序/ rtw / c / src - i /应用程序/ MATLAB_R2018a。应用程序/ rtw / c / src / ext_mode /常见的- i /应用程序/ MATLAB_R2018a。应用程序/ rtw / c / ert rtGetNaN - o”。o rtGetNaN.c”
xcrun铿锵声- c -isysroot /应用程序/ xcode /内容/开发/平台/ MacOSX.platform /开发/ sdk / MacOSX10.13。sdk拱x86_64-fno-common -fexceptions o0 -DMODEL = exportMe -DHAVESTDIO -DUSE_RTMODEL -DUNIX - i /用户/ ~ / MATLAB-Drive / BacktestWS / codegen / exe / exportMe - i /用户/ ~ / MATLAB-Drive / BacktestWS - i /应用程序/ MATLAB_R2018a。应用程序/走读生/包括我/应用程序/ MATLAB_R2018a。应用程序万博1manbetx/模型/包括我/应用程序/ MATLAB_R2018a。应用程序/ rtw / c / src - i /应用程序/ MATLAB_R2018a。应用程序/ rtw / c / src / ext_mode /常见的- i /应用程序/ MATLAB_R2018a。应用程序/ rtw / c / ert rtGetInf - o”。o rtGetInf.c”
# # #创建独立的可执行文件/用户/ ~ / MATLAB-Drive / BacktestWS / exportMe
xcrun叮当声+ +拱x86_64 -isysroot /应用程序/ xcode /内容/开发/平台/ MacOSX.platform /开发/ sdk / MacOSX10.13。sdk - wl、rpath /应用程序/ MATLAB_R2018a。应用程序/ bin / maci64 - wl, rpath @executable_path - wl, rpath、@executable_path / /用户/ ~ / MATLAB-Drive / BacktestWS - l“/应用程序/ MATLAB_R2018a.app / bin / maci64”- o /用户/ ~ / MATLAB-Drive / BacktestWS / exportMe exportMe_initialize。o exportMe_terminate。o exportMe。o rt_nonfinite。o rtGetNaN。o rtGetInf。o - lm
未定义的符号x86_64架构:
“_main”,参考来自:
隐式的主要入口/启动可执行
ld:符号(s)发现x86_64架构
铿锵声:错误:链接器命令失败,退出码1(使用- v来查看调用)
gmake: * * *(/用户/ ~ / MATLAB-Drive / BacktestWS / exportMe)错误1
错误(年代)在构建“exportMe”:
# # #失败的生成所有二进制输出。
这是试图编译的结果一样简单的东西:
函数exportMe
disp (“你好!”)
结束
有什么我做错了,或者与我的系统的设置,我可以补吗?谢谢你!

接受的答案

瑞安·利文斯顿
瑞安·利文斯顿 2018年3月18日
的错误 _ 主要 缺失意味着你要编译一个可执行的和没有 主要 指定函数。你可以手写了 主要 功能和 指定 MATLAB编码器。
一个 例子的主要功能 也是由编码器生成,您可以使用你的手写的主要功能。
2的评论
瑞安·利文斯顿
瑞安·利文斯顿 2018年3月18日
编辑:瑞安·利文斯顿 2018年3月18日
你是受欢迎的。没有 disp 不生成独立的代码。如果你打开您应该看到代码生成报告 disp 函数 突出显示在报告中 。如果你在,你会看到信息 disp 是一个外部函数。
另外,告诉如果一个函数支持代码生成可以在两个地方:万博1manbetx
  1. 万博1manbetx支持功能列表按字母顺序列出所有codegen-compatible功能。
  2. 每个函数的文档页面支持代码生成下一节万博1manbetx扩展功能被称为C / c++代码生成。例如disp页面没有这部分,但页面所做的事。
打印在单独的代码可以使用MATLAB 函数。编码器将调用C编译 printf /流 功能。
你可以使用:
函数exportMe
流(“你好!”);
结束

登录置评。

更多的答案(0)

类别

找到更多的在C共享库集成帮助中心文件交换

s manbetx 845

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!