无法定位程序输入点GdipGetImageGraphicsContext于动态链接库libvlc.dll上 (Dll 转 LIb)

本文主要是介绍无法定位程序输入点GdipGetImageGraphicsContext于动态链接库libvlc.dll上 (Dll 转 LIb),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我的环境:Win7 X64 + VS2010 + vlc 2.2.1

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

安装好vlc 2.2.1后,在其安装目录有一个文件夹sdk, 里面存放的就是vlc 2.2.1的开发包了,我们将其复制出来使用即可,其它版本的vlc,估计也是如此吧。。。

将vlc开发包放到VS2010创建的工程中,编译Debug版本的程序,调用vlc一切正常,编译Release版本的程序,调用vlc却出现了以下错误:

无法定位程序输入点GdipGetImageGraphicsContext于动态链接库libvlc.dll上

------------------------------------------------------------------------------------------------------------------------------------------------

至于为什么会出现以上错误,现在我也不是很清楚,猜测是vlc开发包中的库文件有问题

libvlc.lib

libvlccore.lib

----------------------------------------------------------------------------------------------------------------------------------------

解决方法:

1. 动态调用vlc函数,即使用以下2个系统API来获取vlc函数地址,然后调用:

LoadLibrary
GetProcAddress
具体如何使用,我就不多说了,百度一下即可。
---------------------------------------------------------------------------------------------------------------------------------------------

2. 既然Debug版本正常,Release不正常,我怀疑是以下2个库文件的问题:

libvlc.lib

libvlccore.lib

既然怀疑是库文件的问题,我们重新创建以上那2个库文件即可。

如何根据dll来创建lib文件,可参考文章:http://bbs.pediy.com/showthread.php?p=1202951

既然工具人家都写好了,我们直接拿来使用即可,后面我会打包该工具,放到vlc开发包中:

(1) 使用工具,创建以下2个def文件

libvlc.def

libvlccore.def

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

有了def文件,就可以根据def文件创建lib文件了,打开cmd,转到vc以下目录,在cmd中,执行文件vcvars32.bat:

D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\

vcvars32.bat

然后敲创建lib库的命令:

link /LIB /DEF:xxx.def /OUT:xxx.lib

link /LIB /DEF:D:\Projects\VS2010\VlcDemo\VlcDemo\vlc-2.2.1\bin\libvlc.def /OUT:D:\Projects\VS2010\VlcDemo\VlcDemo\vlc-2.2.1\bin\libvlc.lib

link /LIB /DEF:D:\Projects\VS2010\VlcDemo\VlcDemo\vlc-2.2.1\bin\libvlccore.def /OUT:D:\Projects\VS2010\VlcDemo\VlcDemo\vlc-2.2.1\bin\libvlccore.lib

---------------------------------------------------------------------------------------

最后就得到我们想要的lib文件了,得到lib文件后,将其替换掉vlc自带的lib文件即可:

终于解决了烦人的:

无法定位程序输入点GdipGetImageGraphicsContext于动态链接库libvlc.dll上

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

文章末尾,提供以上我制作的,可正常使用的vlc开发包下载地址:

vlc-2.2.1-sdk.rar
http://download.csdn.net/detail/friendan/8706993

 

PS:https://download.csdn.net/download/u011430225/10997620

 


--------------------- 
作者:friendan 
来源:CSDN 
原文:https://blog.csdn.net/friendan/article/details/45768843 
版权声明:本文为博主原创文章,转载请附上博文链接!

这篇关于无法定位程序输入点GdipGetImageGraphicsContext于动态链接库libvlc.dll上 (Dll 转 LIb)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040926

相关文章

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)

使用@Slf4j注解,log.info()无法使用问题

《使用@Slf4j注解,log.info()无法使用问题》在使用Lombok的@Slf4j注解打印日志时遇到问题,通过降低Lombok版本(从1.18.x降至1.16.10)解决了问题... 目录@Slf4androidj注解,log.info()无法使用问题最后解决总结@Slf4j注解,log.info(

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

三国地理揭秘:为何北伐之路如此艰难,为何诸葛亮无法攻克陇右小城?

俗话说:天时不如地利,不是随便说说,诸葛亮六出祁山,连关中陇右的几座小城都攻不下来,行军山高路险,无法携带和建造攻城器械,是最难的,所以在汉中,无论从哪一方进攻,防守方都是一夫当关,万夫莫开;再加上千里运粮,根本不需要打,司马懿只需要坚守城池拼消耗就能不战而屈人之兵。 另一边,洛阳的虎牢关,一旦突破,洛阳就无险可守,这样的进军路线,才是顺势而为的用兵之道。 读历史的时候我们常常看到某一方势

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [