C#调用C++非托管dll的时候“找不到指定模块” 35
如上。。C++dll的源代码:#include<iostream>#include<string>usingnamespacestd;usingnamespaceSyst...
如上。。
C++dll的源代码:
#include<iostream>
#include<string>
using namespace std;
using namespace System;
namespace bbb
{
public class bbbb
{
public:
__declspec(dllexport) static int __stdcall setbbbb(string *strbbbb)
{
cout<<strbbbb<<endl;
return 1;
}
__declspec(dllexport) static string __stdcall getbbbb()
{
return "OK";
}
};
}
以下为C#中使用引用dll的语句:
[DllImport(@"E:\My Documents\Visual Studio 2005\Projects\Usecppdll\Usecppdll\bin\Debug\bb.dll",EntryPoint = "setbbbb") ]
public static extern int setbbbb(string strbbbb);
Console.WriteLine( Program.setbbbb("Success!"));
调用setbbbb的时候总是有异常。。
无法加载 DLL“E:\My Documents\Visual Studio 2005\Projects\Usecppdll\Usecppdll\bin\Debug\bb.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
DllNotFoundException
编译dll的命令cl /clr bb.cpp /link /dll /out:bb.dll
本人菜鸟,网上资料查了好久,没找着问题。- -!现在求问高手。。谢谢了
...... 展开
C++dll的源代码:
#include<iostream>
#include<string>
using namespace std;
using namespace System;
namespace bbb
{
public class bbbb
{
public:
__declspec(dllexport) static int __stdcall setbbbb(string *strbbbb)
{
cout<<strbbbb<<endl;
return 1;
}
__declspec(dllexport) static string __stdcall getbbbb()
{
return "OK";
}
};
}
以下为C#中使用引用dll的语句:
[DllImport(@"E:\My Documents\Visual Studio 2005\Projects\Usecppdll\Usecppdll\bin\Debug\bb.dll",EntryPoint = "setbbbb") ]
public static extern int setbbbb(string strbbbb);
Console.WriteLine( Program.setbbbb("Success!"));
调用setbbbb的时候总是有异常。。
无法加载 DLL“E:\My Documents\Visual Studio 2005\Projects\Usecppdll\Usecppdll\bin\Debug\bb.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。
DllNotFoundException
编译dll的命令cl /clr bb.cpp /link /dll /out:bb.dll
本人菜鸟,网上资料查了好久,没找着问题。- -!现在求问高手。。谢谢了
...... 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询