在MatLab中编译mex文件时出现致命错误C1083

ztmd8pv5  于 2022-11-15  发布在  Matlab
关注(0)|答案(1)|浏览(338)

MEX_Example0.cpp

#include "mex.hpp"   
#include "mexAdapter.hpp"   
#include <iostream>    
using namespace matlab::data;   
using matlab::mex::ArgumentList;    
class MexFunction : public matlab::mex::Function {    
public:    
    void operator()(ArgumentList outputs, ArgumentList inputs) {    
        ArrayFactory factory;   
        TypedArray<double> x = std:: move(inputs[0]);   
        for (auto& i: x){   
            i += 5;   
        }    
        outputs[0] = x;    
        std::cout<<"Hello MEX"<<std::endl;     
    }   
};

MatLab代码

mex mex_example0.cpp

错误

Building with 'Microsoft Visual C++ 2012'.
Error using mex
mex_example0.cpp
C:\Users\iisermbionap\Downloads\mex_example0.cpp(1) : fatal error C1083: Cannot open include
file: 'mex.hpp': No such file or directory

我使用的是MatLab 2015A和MVC 2012专业版。
有谁能帮我改正这个错误吗?

7dl7o3gd

7dl7o3gd1#

文件“mex.hpp”是C++-MEX interface的一部分。这是在R2018a中引入的。看看这个Release Note。在R2015a中,需要使用C-MEX接口。您可以使用C++编写代码,但它必须使用mexFunctionC-language interface

相关问题