matlab notebook编译错误:若要在64位系统上使用,则必须更新此项目中的代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab notebook编译错误:若要在64位系统上使用,则必须更新此项目中的代码相关的知识,希望对你有一定的参考价值。

参考技术A 1.安装notebook,并在matlab中打开

2.显示问题界面如下

3.解决办法

将以上 红色字 里面的 Declare Function 中间添加 PtrSafe。

4.成功运行打开

5.参考帖子

https://blog.csdn.net/budzend/article/details/77647833

https://blog.csdn.net/budzend/article/details/77647833

mex 编译错误:Matlab 数据类型和函数的预期表达式错误

【中文标题】mex 编译错误:Matlab 数据类型和函数的预期表达式错误【英文标题】:mex compile error: expected expression error at Matlab datatype and function 【发布时间】:2013-02-22 13:46:25 【问题描述】:

我是在 linux 上开始 mex,所以我从下面这个小代码开始并尝试编译:

#include "mex.h"

void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
 
    mxArray *inputArrayData;     // array for input array pointers  

但是我的编译结果是:

>> mex firsttry.c
firsttry.c: In function ‘mexFunction’:
firsttry.c:5: error: expected expression before '/' token

我尝试了其他一些东西,似乎在涉及 matlab 数据和函数定义的所有行都会出现这个“预期表达式”错误。这里可能出了什么问题?

【问题讨论】:

【参考方案1】:

您的文件具有扩展名 .c,但您使用的是 C++ 样式的 cmets(由 // 引入)。将你的文件重命名为firsttry.cpp,然后调用

>> mex firsttry.cpp

【讨论】:

【参考方案2】:

其实标准C89只有“/*...*/”注释,mex编译器可以使用c编译器只支持C89。 要解决此问题,只需将“//...”注释替换为“/*...*/”格式即可。

【讨论】:

以上是关于matlab notebook编译错误:若要在64位系统上使用,则必须更新此项目中的代码的主要内容,如果未能解决你的问题,请参考以下文章

Matlab 编译器链接错误(64 位与 32 位)

window无法完成安装,若要在此计算机上安装window

windows无法完成安装,若要在此计算机上安装,请重新启动安装

windows无法完成安装,若要在此计算机上安装windows

MATLAB 错误使用 mex

使用 mingw-w64 编译 mex 的链接器错误