VC/MFC动态库Debug版本下正常,Release版本下错误

在网上找了一个用MFC编写基于VLC类库的播放器的例子,也可以播放各种格式的视频,结果发现该例子有问题如下:在Debug模式下,可以正常播放。在Release模式下,仅编... 在网上找了一个用MFC编写基于VLC类库的播放器的例子,也可以播放各种格式的视频,结果发现该例子有问题如下:
在Debug模式下,可以正常播放。
在Release模式下,仅编译就出现了18个链接的warning,一打开视频文件时就弹出应用程序错误。

int vlc_argc = 0;
char *vlc_argv[100];
vlc_argv[vlc_argc++] = "--ignore-config";

p_instance[1] = libvlc_new(vlc_argc, vlc_argv, NULL);
libvlc_media_t *p_media = libvlc_media_new(p_instance[1], m_VideoPath[1],NULL);
p_media_player[1] = libvlc_media_player_new_from_media(p_media, NULL);
libvlc_media_player_set_drawable(p_media_player[1], (libvlc_drawable_t)m_StaticDisplay[1]->m_hWnd, NULL);

//各相应变量均在头文件中定义了,调用的函数声明位于:libvlc.h 中, 好像是从libvlc.dll的动态库中调用的
//具体原理都封装了起来,看不到所以我也不太清楚

其中链接警告如下:
LINK : warning LNK4089: all references to "d000000.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000008.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000010.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000106.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000116.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000118.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000120.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000126.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000127.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000128.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000129.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000132.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000134.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000135.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000137.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000144.o" discarded by /OPT:REF
LINK : warning LNK4089: all references to "d000164.o" discarded by /OPT:REF

注:我的.lib文件是添加在资源里的,Debug和Release的配置全是新建工程时的默认配置
以上的问题是怎么造成的,该怎么解决呢?望高手解答。。。急急急!
你们没明白我的意思, 我的程序在Release下虽然有警告,但是能跑起来,只是在打开视频文件的时候出错了,但在Debug下打开视频文件没有问题,估计是我描述的不太准确
展开
 我来答
machunleilei
2011-01-07 · TA获得超过467个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:182万
展开全部
这些警告不会对你的程序运行的正确性产生影响,这只是提醒您有一些东西不需要,所以编译器在生成Release版本的时候就会做一些优化,所以会出现着一些警告,不用担心。
至于你提的问题,可能是您的程序自身设计的有问题。跟编译器没有关系。
估计就是打开的时候路径不对。或者文件没有给定。
估计在程序中别人使用了相对路径,这样才会导致Release版本运行错误。
Daven172
2011-01-07 · TA获得超过628个赞
知道小有建树答主
回答量:448
采纳率:0%
帮助的人:400万
展开全部
Rebuild试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友96aa8d3
2011-01-07 · TA获得超过433个赞
知道小有建树答主
回答量:2306
采纳率:75%
帮助的人:937万
展开全部
编译器问题 也许换下vs 就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
836907688
2011-01-07 · 超过32用户采纳过TA的回答
知道答主
回答量:146
采纳率:0%
帮助的人:0
展开全部
all references to "d000000.o" discarded by /OPT:REF
这句话的意思是/在OPT:REF的指令下对“D000000。O的引用无效

所以,试看去掉/OPT:REF这个选项再RELEASE
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式