我有一个 C++ 应用程序通过 wrapper.cpp 在 C# dll 中调用 WORD(name,cpu) 函数,它包含一个错误。谁能帮我?提前致谢。
错误 C2664:“CsharpDLL::WORD”:无法将参数 1 从“std::string”转换为“System::String ^”
C++ 应用程序
extern "C" _declspec(dllimport) void _stdcall WORD(string name, string cpu);
int main()
{
string name="f";
string cpu="F";
WORD(name,cpu);
}
包装器.cpp
extern "C" _declspec(dllexport) void _stdcall WORD(string name ,string cpu)
{
return CsharpDLL::WORD(name,cpu); // <-- Error here
}
C# DLL
public class CsharpDLL
{
public static void WORD(string name, string cpu)
{
if(cpu=="add")
{
Console.WriteLine("aa");
}
}