从非托管C / C ++代码调用C#.NET方法

问题描述 投票:0回答:1

我需要在本机c ++中调用c#方法。我按照this指南,下载它,它的工作,但当我尝试新版本的.net时我无法重现。这段代码的主要思想是以这种方式调用c#方法:C#.dll - > C ++ / CLI(托管c ++) - > c ++

C#

public static class ManagedClass
    {
        public static bool Check()
        {
            return true;
        }
    }

托管c ++

namespace ClassLibrary1 {

    public ref class DoWork
    {
    public: bool CheckCSharp()
    {
        return CSharp::ManagedClass::Check();
    }
    };
}
__declspec(dllexport) bool Check()
{
    ClassLibrary1::DoWork work;
    return work.CheckCSharp();
}

C ++

#include "ClassLibrary1.h"
_declspec(dllexport) bool Check();

int main()
{
    std::cout << Check();
    system("pause");
    return 0;
}

这是显示错误

错误LNK2019未解析的外部符号“bool __cdecl Check(void)”(?检查@@ YA_NXZ)在函数_main中引用

1个未解决的外部因素

c# c++ .net clr managed-c++
1个回答
1
投票

必须在链接器路径中写入.lib

© www.soinside.com 2019 - 2024. All rights reserved.