我需要在原生 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;
}
显示错误
Error LNK2019 unresolved external symbol "bool __cdecl Check(void)" (?Check@@YA_NXZ) referenced in function _main
1 unresolved externals
最佳答案
必须写入 .lib 的链接器路径
关于c# - 从非托管 C/C++ 代码调用 C# .NET 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55256406/