gpt4 book ai didi

c++ - Issu 在 C++ 中使用 startMATLAB,在 r2017b 中使用 "MatlabEngine.hpp"

转载 作者:搜寻专家 更新时间:2023-10-31 02:08:20 26 4
gpt4 key购买 nike

在其新版本 2017b 中,Matlab 发布了用于 C++ 的新 MATLAB 引擎 API:https://fr.mathworks.com/help/matlab/calling-matlab-engine-from-cpp-programs.html

当我尝试使用此 API 时(仅在开始时启动 Matlab !!),我在使用时遇到问题:

std::unique_ptr<MATLABEngine> matlabPtr = startMATLAB();

编译没问题,但是执行时:

enter image description here

这是调用堆栈:

matlab::engine::initSession --> matlab::engine::startMATLAB --> matlab::engine::startMATLABAsync --> engine_create_session

现在,我使用不同的方式来完成我的工作,但我不想让问题没有解决方案。有人可以发现此 API 的问题吗?

我的配置:

  • Matlab 2017b
  • Visual Studio 2017
  • Windows 10

最佳答案

就在几天前,我遇到了同样的问题:here

因此,我在 MATLAB 中提出了技术支持请求。他们建议按照以下适合我的方式构建项目:

  1. 创建项目并添加源文件。
  2. 转到项目属性,并进行以下更改(确保将体系结构更改为 X64):
  3. C/C++ General 下,将以下目录添加到字段中其他包含目录: C:\Program Files\MATLAB\\extern\include
  4. C/C++ 预编译 header 下,选择 “不使用预编译标题”
  5. Linker General 下,将目录添加到字段 ADDITIONAL库目录: C:\Program文件\MATLAB\\extern\lib\win64\microsoft
  6. e。在 Configuration Properties ->Debugging 下添加以下 2环境中的目标路径:PATH=C:\Program文件\MATLAB\\bin\win64;
    PATH=C:\Program文件\MATLAB\\extern\bin\win64;
  7. Linker Input 下,将以下名称添加到标记为 ADDITIONAL DEPENDENCIES: 的字段中libmat.lib
    libMatlabEngine.lib
    libMatlabDataArray.lib

  8. 确保以下目录在Windows系统中环境路径:
    C:\Program Files\MATLAB\\bin\win64;
    C:\Program Files\MATLAB\\extern\bin\win64

  9. 现在,构建项目并运行您的应用程序。

关于c++ - Issu 在 C++ 中使用 startMATLAB,在 r2017b 中使用 "MatlabEngine.hpp",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47693078/

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