Sign in to follow this  
Bruno

linking problems

Recommended Posts

Hi, I'm tryng to compile a program that uses directshow, and altough it compiles just fine, it has problems linking it. I think it misses a lib.., The link errors are of the kind : DShowTextures.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseVideoRenderer::SetSink(struct IQualityControl *)" (?SetSink@CBaseVideoRenderer@@UAGJPAUIQualityControl@@@Z) DShowTextures.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseVideoRenderer::Notify(struct IBaseFilter *,struct tagQuality)" (?Notify@CBaseVideoRenderer@@UAGJPAUIBaseFilter@@UtagQuality@@@Z) DShowTextures.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseVideoRenderer::get_DevSyncOffset(int *)" (?get_DevSyncOffset@CBaseVideoRenderer@@UAGJPAH@Z) DShowTextures.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseVideoRenderer::get_AvgSyncOffset(int *)" (?get_AvgSyncOffset@CBaseVideoRenderer@@UAGJPAH@Z) DShowTextures.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseVideoRenderer::get_Jitter(int *)" (?get_Jitter@CBaseVideoRenderer@@UAGJPAH@Z) DShowTextures.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseVideoRenderer::get_AvgFrameRate(int *)" (?get_AvgFrameRate@CBaseVideoRenderer@@UAGJPAH@Z) DShowTextures.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseVideoRenderer::get_FramesDrawn(int *)" (?get_FramesDrawn@CBaseVideoRenderer@@UAGJPAH@Z) DShowTextures.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseVideoRenderer::get_FramesDroppedInRenderer(int *)" (?get_FramesDroppedInRenderer@CBaseVideoRenderer@@UAGJPAH@Z) anyone knows what should be linked here ? thanks,

Share this post


Link to post
Share on other sites
Here is an entry in some german forum, they basically say:

The .lib is not provided with the SDK, but its sources and workspaces are in "..\Samples\C++\DirectShow\BaseClasses" and have to be compiled. That should create a file called "strmbasd.lib" which you can link with your program.

hth

Share this post


Link to post
Share on other sites
Thanks a lot :),
It brought down the 69 link errors to only 2..,

DShowTextures.obj : error LNK2001: unresolved external symbol "public: virtual unsigned long __stdcall CBaseFilter::NonDelegatingRelease(void)" (?NonDelegatingRelease@CBaseFilter@@UAGKXZ)
DShowTextures.obj : error LNK2001: unresolved external symbol "public: __thiscall CBaseVideoRenderer::CBaseVideoRenderer(struct _GUID const &,char *,struct IUnknown *,long *)" (??0CBaseVideoRenderer@@QAE@ABU_GUID@@PADPAUIUnknown@@PAJ@Z)
Debug/video_test.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.


They seem to come from the same place, and altought the texture3d and texture3d9 build correctly, i can't build it here..,
Something that i may be missing ?

thanks,

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this