小编Tum*_*elo的帖子

围绕C++类的C可调用包装器

我正在按照教程创建一个围绕C++代码的包装器,以便可以从C#调用它.
我编译包装器时遇到错误.Header.h

class MyClass{
    public:
        MyClass(int x, int y);
        double GetSum();
    private:
        int x_;
        int y_;
};
Run Code Online (Sandbox Code Playgroud)

以下是源文件(body.cpp)

#include  "Header.h"

MyClass::MyClass(int x, int y)
{
    x = 8;
    y = 8;
}

double MyClass::GetSum()
{
    int r = x_ + y_;
    return r;
}
Run Code Online (Sandbox Code Playgroud)

包装类/ dll如下所示

#include "C:\Users\tumelo\Documents\Visual Studio 2012\Projects\Emgu\MyClassCpp\MyClassCpp\Header.h"
#include "C:\Users\tumelo\Documents\Visual Studio 2012\Projects\Emgu\MyClassCpp\MyClassCpp\Body.cpp"

//for the function you want made avaible from the dll
    extern "C" __declspec(dllexport) double GetResults(int x, int y)
    {
        //create an instance of the class 
        MyClass …
Run Code Online (Sandbox Code Playgroud)

c++ wrapper extern-c

1
推荐指数
1
解决办法
143
查看次数

标签 统计

c++ ×1

extern-c ×1

wrapper ×1