随笔 - 505  文章 - 1034  trackbacks - 0
<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456


子曾经曰过:编程无他,唯手熟尔!

常用链接

留言簿(94)

随笔分类(649)

随笔档案(505)

相册

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

积分与排名

  • 积分 - 894898
  • 排名 - 14

最新随笔

最新评论

阅读排行榜

评论排行榜

在把这个玩玩DirectShow--(1)Sample: Texture3D9 改成Unicode版本的时候,总是链接不过,居然好长时间都没想到是链接的strmbasd.lib不是unicode的,我靠!憋着没问别人,终于解决了。培养独立解决问题的能力!

在目录C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multimedia\DirectShow\BaseClasses\里
自己建个新文件叫makefile_unicode,把makefile的内容拷过来,改几个地方
1)粗体的部分加了个u
!IFDEF NODEBUG
STRMBASE
=strmbaseu
!
else
STRMBASE
=strmbasud
!endif
2) 编译选项增加了 /"_UNICODE" /"UNICODE"
看下面的粗体部分就是改变的部分
Makefile语言: makefile_unicode
#----- Include the PSDK's WIN32.MAK to pick up defines-------------------
!include <win32.mak>

LINK32_OBJS= \
        $(OUTDIR)\amextra.obj       \
        $(OUTDIR)\amfilter.obj      \
        $(OUTDIR)\amvideo.obj       \
        $(OUTDIR)\combase.obj       \
        $(OUTDIR)\cprop.obj         \
        $(OUTDIR)\ctlutil.obj       \
        $(OUTDIR)\ddmm.obj          \
        $(OUTDIR)\dllentry.obj      \
        $(OUTDIR)\dllsetup.obj      \
        $(OUTDIR)\mtype.obj         \
        $(OUTDIR)\outputq.obj       \
        $(OUTDIR)\pstream.obj       \
        $(OUTDIR)\pullpin.obj       \
        $(OUTDIR)\refclock.obj      \
        $(OUTDIR)\renbase.obj       \
        $(OUTDIR)\schedule.obj      \
        $(OUTDIR)\seekpt.obj        \
        $(OUTDIR)\source.obj        \
        $(OUTDIR)\strmctl.obj       \
        $(OUTDIR)\sysclock.obj      \
        $(OUTDIR)\transfrm.obj      \
        $(OUTDIR)\transip.obj       \
        $(OUTDIR)\videoctl.obj      \
        $(OUTDIR)\vtrans.obj        \
        $(OUTDIR)\winctrl.obj       \
        $(OUTDIR)\winutil.obj       \
        $(OUTDIR)\wxdebug.obj       \
        $(OUTDIR)\wxlist.obj        \
        $(OUTDIR)\wxutil.obj     

!IFDEF NODEBUG
STRMBASE=strmbaseu
!else
STRMBASE=strmbasud
!endif


all:    $(OUTDIR) $(OUTDIR)\$(STRMBASE).lib

$(OUTDIR)\$(STRMBASE).lib:   $(LINK32_OBJS)
    $(link) -lib /OUT:$(OUTDIR)\$(STRMBASE).lib /MACHINE:$(CPU) /NODEFAULTLIB $(LINK32_OBJS) strmiids.lib

$(OUTDIR)\amextra.obj:
    $(cc) $(cflags) $(cdebug) $(cvarsmt) /EHsc /Yc"streams.h" /Fp$(OUTDIR)\streams.pch /Fo"$(OUTDIR)\\" /Fd"$(OUTDIR)\\" /D_MBCS /I "." /I"$(DXSDK_DIR)\Include" /D_LIB /D_WIN32_DCOM /D "_UNICODE" /D "UNICODE"  amextra.cpp

.cpp{$(OUTDIR)}.obj:
    $(cc) $(cflags) $(cdebug) $(cvarsmt) /EHsc /Yu"streams.h" /Fp$(OUTDIR)\streams.pch /Fo"$(OUTDIR)\\" /Fd"$(OUTDIR)\\" /D_MBCS /I "." /I"$(DXSDK_DIR)\Include" /D_LIB /D_WIN32_DCOM /D "_UNICODE" /D "UNICODE"  $**

#----- If OUTDIR does not exist, then create directory
$(OUTDIR) :
    if not exist "$(OUTDIR)/$(NULL)" mkdir $(OUTDIR)

clean:
        $(CLEANUP)

好了,开始生成吧
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multi
media\DirectShow\BaseClasses
>nmake /f makefile_unicode
posted on 2009-01-05 17:49 七星重剑 阅读(2310) 评论(1)  编辑 收藏 引用 所属分类: PL--c/c++Game GraphicsIDE -- visual c++

FeedBack:
# re: 玩玩DirectShow--(4)Platform SDK生成Unicode版本的strmbasd.lib 2009-04-24 21:58 scdog
大哥,你所產生的這個檔可以提供給WINCE使用嗎?

如果可以的話,可以將STRMBASE.LIB和STRMBASD.LIB寄給我嗎?

拜託幫幫忙的>"<

我嘗試好久,在WINCE環境下,都無法找到CBaseFilter相關的連結,可能是因為strmbase的問題←可能不是wince有支援的,所以可以麻煩你讓我試試的嗎@@"

如果你願意的話,請寄到這:stupidcdog@yahoo.com.tw

真的很感謝你  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理