C#调用C++ libtorch编译成的dll出现无法找到dll问题

问题描述

本人C#小白,最近想为pytorch写的神经网络做一个windows界面,研究得知可以利用c++ libtorch重写一遍推断网络,并编译成dll供c#调用。用vs2019编译完c++写的代码后,生成的Dll5.dll文件明明放在C#的relase文件夹下面却总报错,找不到找不到Dll5.dll.

我经过实验发现是因为c++源文件包含了torch/script.h却没有把torch下的dll文件放在C#的release下。可能因此Dll5.dll中的函数调用torch中的dll却找不到,但是报了Dll3.dll找不到的错误。
C#调用C++ libtorch编译成的dll出现无法找到dll问题_第1张图片

解决方案

  1. 将编译生成的Dll5.dll放在C#的release文件夹下面
    C#调用C++ libtorch编译成的dll出现无法找到dll问题_第2张图片

  2. 将libtorch中lib文件夹下的所有dll文件都复制到C#的release文件夹下面
    C#调用C++ libtorch编译成的dll出现无法找到dll问题_第3张图片

C#调用C++ libtorch编译成的dll出现无法找到dll问题_第4张图片

  1. 问题解决

你可能感兴趣的:(c#,c++,开发语言,机器学习,pytorch)