我需要集成一个.EXE与simulink。我试着在Simulink中创建一个C++动态链接库。这个DLL以后应该合并到simulink中的S函数调用中.
信息流动将是:
ps:我没有EXE的源代码,这是一个黑匣子。这就是为什么我要创建一个c++包装器,以便从simulink执行它。
到目前为止,C++ DLL包装器无法工作。代码在下面。
#ifdef MATHFUNCSDLL_EXPORTS
#define MATHFUNCSDLL_API __declspec(dllexport)
#else
#define MATHFUNCSDLL_API __declspec(dllimport)
#endif
#ifdef __cplusplus /* If this is a C++ compiler, use C linkage */
extern "C" {
#endif
namespace MathFuncs
{
// This class is exported from the MathFuncsDll.dll
class MyMathFuncs
{
public:
// Returns a + b
static __declspec(dllexport) double Add(double a, double b);
};
}
#ifdef __cplusplus /* If this is a C++ compiler, end C linkage */
}
#endif*.cpp
#include "stdafx.h"
#include <stdexcept>
#include "MathFuncsDll.h"
using namespace std;
namespace MathFuncs
{
double MyMathFuncs::Add(double a, double b)
{ return a + b; }
}请注意,我正在使用(extern "c")命令,以生成一个DLL,可以使用Matlab C风格。
当我试图加载DLL时:
“没有用于类lib.MathFuncsDll的方法,也没有类lib.MathFuncsDll。”
所以,我的问题是:
obs:类似的问题
发布于 2014-02-07 22:01:14
我不是解决dll错误,但您原来的问题,运行的执行从Simulink。
system命令直接从MATALB代码中运行exe呢?https://stackoverflow.com/questions/21636208
复制相似问题