zoukankan      html  css  js  c++  java
  • c++ 调用matlab程序

    以64 bit win7下的matlab 2012a(64bit)和vs2010为例:[1]
     
    在vs2010中新建一个C++控制台工程,添加依赖项:(请根据自己的matlab安装目录更改)[2]
     
     
    1)、在include files中添加:
    E:matlab2012a-launchexterninclude
     
    2)、在library files中添加:
    E:matlab2012a-launchexternlibwin64microsoft
     
    3)、在input中添加:
    libmx.lib;libmex.lib;libeng.lib;
     
    注意:将vs2010的运行环境从 win32 改成 x64)
     
    示例程序:
    #include <iostream>
    #include <cmath>
    #include <string>
     
    #include <engine.h>
     
    using namespace std;
     
    int main(int argc, char** argv) {
    Engine* m_pEngine;
    m_pEngine = engOpen(NULL);
    if( m_pEngine == NULL ) {
    cout<<"error!"<<endl;
    exit(-1);
    }
    engEvalString(m_pEngine, "x=0:0.01:2*pi;");
    engEvalString(m_pEngine, "y=sin(x);");
    engEvalString(m_pEngine, "figure; plot(x,y,'g');");
     
    system("pause");
    engClose(m_pEngine);
     
    return 0;
    }

    报错:

    1)、无法解析的外部符号 _engClose,该符号在函数 _main 中被引用 。

    解决:换到x64

    2)、无法启动此程序,因为计算机中丢失libeng.dll。尝试重新安装该程序以解决此问题。[3]

    解决:E:Program FilesMATLABR2013ainwin64 加入系统环境变量

    参考:

    [1] fourfire.c++,matlab混合编程[EB/OL].[2014-03-11].http://blog.sina.com.cn/s/blog_8e6bfecf0100y5ba.html

    [2]  justinlm.Visual Studio 2010 为C/C++添加外部库的方法[EB/OL].[2014-03-11]http://www.docin.com/p-156218299.html

    [3] hwby199106wHow_to_use_Matlab_Engine_in_Visual_Studio[EB/OL].[2014-03-11].http://www.doc88.com/p-458271665677.html

  • 相关阅读:
    scala入门-03基础知识->表达式
    scala入门-02基础知识->方法
    jetty命令行方式启动jetty-runner.jar 容器
    本地开发spark代码上传spark集群服务并运行(基于spark官网文档)
    Linux下查看进程和线程
    scala入门-01-IDEA安装scala插件
    spark-1.2.0 集群环境搭建
    ubuntu每次登陆都用root账号登陆
    hadoop2.6.0版本集群环境搭建
    spark ssh配置
  • 原文地址:https://www.cnblogs.com/ccdc/p/3593275.html
Copyright © 2011-2022 走看看