gpt4 book ai didi

c - 使用 Matlab 编码器将 Matlab 代码转换为 C

转载 作者:行者123 更新时间:2023-11-30 15:52:08 25 4
gpt4 key购买 nike

我有一些可用的 Matlab 代码,我尝试使用 Matlab 编码器将其转换为 C 代码。我收到此错误:

18   c:\users\bla\project\strcmpi.h(79) : warning C4028: formal parameter 2 different from declaration
19 c:\users\bla\project\strcmpi.h(79) : error C2371: 'strcmpi' : redefinition; different basic types
20 c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(245) : see declaration of 'strcmpi'
21 NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\cl.EXE"' : return code '0x2'
22 Stop.
23 The make command returned an error of 2
24 'An_error_occurred_during_the_call_to_make' is not recognized as an internal or external command,
25 operable program or batch file.

它看起来非常适合我(我不是一个熟练的 C 程序员)。谁能指出我正确的方向来克服这个错误?谢谢。

附注:

这里是一些改编的 Matlab 代码:

if(strcmpi(parameters.x,'bladibla') == 1)

% some code

else

% some more code

end

其中“参数”是一个结构。我想坚持我的结构,但如果有更好的方法来实现上述目标,特别是在 Matlab 编码器和 C 的上下文中,请告诉我。

最佳答案

strcmpi()(不区分大小写的字符串比较)的特点是它不是标准的 C 函数。因此,依赖它但试图跨平台移植的代码有时必须提供自己的实现,同时遵循系统的实现(如果可用)。根据我的经验,项目自己的 strcmpi() 实现将受到配置选项的保护。如果打开 c:\users\bla\project\strcmpi.h,您可能会看到类似以下的代码:

#ifndef CONFIG_STRCMPI_PRESENT
int strcmpi(const char *string1, const char *string2);
#endif // CONFIG_STRCMPI_PRESENT

如果您看到此内容,解决该问题的技巧可能是找到关联的 config.h 文件并取消注释以下行:

// #define CONFIG_STRCMPI_PRESENT

这只是根据我处理类似问题的经验的猜测。

关于c - 使用 Matlab 编码器将 Matlab 代码转换为 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14673580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com