解决MFPLAT.dll运行依赖

本文介绍了一种解决MFPLAT.dll运行依赖的方法,尤其针对winserver环境下缺少该库的情况。通过编译生成一个空的MFPLAT.dll,可以使得依赖此库的程序如ShanaFFplay.exe正常运行。警告:这种方法仅适用于无实质调用的依赖,否则可能导致程序崩溃。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无实质性依赖的dll 解决。

winserver下不像win10下有MFPLAT.dll库 

像下面转码工具ShanaFFplay.exe就是这样的工具,在没有media相关的库下打开提示错误,用depends看如下

你是否在部署时有遇到客户反馈来的缺xx.dll 的问题,下面只能解决某些特殊情况。

在linux下有个ln 命令操作so的工具可以解决依赖so版本调用文件名的问题,同时可以解决一些不起作用的SO的硬依赖。

可以仿造so硬连接来解决依赖运行。

同在windows下也是有相同的思路的。在win10下许多媒体接口编译依赖了MFPLAT.dll库 也是仅仅的依赖并无实质的调用。

当WIN10卸载了media的解码包或是用的WINSERVER环境时这里我模仿一个符号链接。

MFPLAT.dll库其实仅仅是依赖并无实质的调用,所以就导出函数仿一个库就解决了

MFPLAT.c  空代码链接

#include <windows.h>
__declspec(dllexport) void MFCreateAlignedMemoryBuffer(void)
{
}

__declspec(dllexport) void MFCreateMediaType(void)
{}

__declspec(dllexport) void MFCreateSample(void)
{}

__declspec(dllexport) void MFShutdown(void)
{}

__declspec(dllexport) void MFStartup(void)
{}

tcc  -w -shared MFPLAT.c -o MFPLAT.dll

编译生成后dll后    ShanaFFplay.exe 程序可以正常打开了

警告:不是所有的库都是仿造来的,只有无实质的调用的依赖才行。如果有实质上的调用是会崩溃的,别说我没警告过哦。自己负责!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值