C# SDL2.SDL_ttf.TTF_Init 在用户机器上返回一个错误

C# SDL2.SDL_ttf.TTF_Init returning an error on the user's machine

我的项目(可执行文件)在我的机器上运行良好,但由于某种原因,在用户的机器上程序无法启动。这是我在 windows 日志中发现的错误(对不起,它是俄语的,但您可以看到问题在于缺少 dll)-

但我确定 SDL_ttf 库位于可执行文件旁边的项目文件夹中!

所以我无法真正理解为什么该应用程序在用户的机器上无法运行而在我的机器上运行良好。

注意:如果 flibitijibibo 编写的来自 c++ 的 SDL 库,我正在使用绑定 - https://github.com/flibitijibibo/SDL2-CS

SDL2_ttf.dll 和许多其他人一样,有一些依赖性。例如。如果您下载使用 MSVC 编译的运行时包,您将看到 SDL2_ttf.dlllibfreetype-6.dllzlib1.dll。如果将其加载到 dependency walker 中,您会看到它还依赖于 kernel32.dllmsvcrt.dll(pre-installed on windows)和 SDL2.dll ,所有这些都必须存在于目标系统上。一般"DLL not found"表示"DLL can't be loaded for whatever reason".