无法定位程序输入点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

相关文章

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

解决Failed to get nested archive for entry BOOT-INF/lib/xxx.jar问题

《解决FailedtogetnestedarchiveforentryBOOT-INF/lib/xxx.jar问题》解决BOOT-INF/lib/xxx.jar替换异常需确保路径正确:解... 目录Failed to get nested archive for entry BOOT-INF/lib/xxx

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

电脑提示d3dx11_43.dll缺失怎么办? DLL文件丢失的多种修复教程

《电脑提示d3dx11_43.dll缺失怎么办?DLL文件丢失的多种修复教程》在使用电脑玩游戏或运行某些图形处理软件时,有时会遇到系统提示“d3dx11_43.dll缺失”的错误,下面我们就来分享超... 在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是缺失某个dll文件。其中,d3dx11_4

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于