我正在尝试编写一个使用C++中定义的函数的WPF应用程序.C++应用程序编译为DLL.
我正在做的是使用DllImport属性导入函数并使用它.这在我的机器上工作正常,但是当我尝试在另一台机器上运行我的WPF应用程序时,它会出现"无法找到DLL"错误.
我的C#(WPF)代码的摘录:
[DllImport("Dll.dll")]
public static extern int MyFunc();
public MainWindow()
{
InitializeComponent();
MessageBox.Show("Starting");
try
{
MessageBox.Show(MyFunc().ToString());
}
catch (Exception exc)
{
while (exc != null)
{
MessageBox.Show(exc.Message);
exc = exc.InnerException;
}
}
Run Code Online (Sandbox Code Playgroud)
我的C++代码:
extern "C" __declspec(dllexport) int MyFunc() {
return 3;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以看到我的错误可能在哪里?
在此先感谢您的帮助!
编辑:问题似乎是依赖"MSVCR100D"不存在.我的理解是这是我安装的VC++ Redistributable包中的一个文件无济于事.
您的DLL可能依赖于其他计算机上未安装的其他DLL.您可以使用Dependency Walker检查依赖项.
典型的缺少依赖项是Visual Studio C/C++运行时库.如果他们失踪了,只需谷歌吧.Microsoft为他们提供可再发行的软件包.
| 归档时间: |
|
| 查看次数: |
2647 次 |
| 最近记录: |