Вызов методов C # .NET из неуправляемого кода C / C ++ - PullRequest
1 голос
/ 20 марта 2019

Мне нужно вызвать метод c # на родном c ++. Я следовал этому руководству, скачал его, все заработало, но когда я пробую его на новой версии .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)" (? Check @@ YA_NXZ) ссылка на функцию _main

1 неразрешенная внешность

1 Ответ

1 голос
/ 20 марта 2019

enter image description here необходимо указать путь компоновщика к .lib

...