Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > VirtualDub, VDubMod & AviDemux

Reply
 
Thread Tools Search this Thread Display Modes
Old 10th August 2017, 14:30   #1  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 1,347
Build error under VS2015 but not under VS2010

I've updated the SDK files to the last version, using the SDK v1.2 and the source code of the last VDub version i have : the 1.10.5-test6.

With other code, the following is added :

vdplugin.h
Code:
typedef bool (VDXAPIENTRY *VDXShowStaticAboutProc)(VDXHWND parent);
typedef bool (VDXAPIENTRY *VDXShowStaticConfigureProc)(VDXHWND parent);
...
struct VDXPluginInfo {
...
VDXShowStaticAboutProc		mpStaticAboutProc;
VDXShowStaticConfigureProc	mpStaticConfigureProc;
}
videofilter.h
Code:
template<class T>
class VDXVideoFilterDefinition : public VDXFilterDefinition {
public:
	VDXVideoFilterDefinition(const char *pszAuthor, const char *pszName, const char *pszDescription) {
...
		mpStaticAboutProc = T::StaticAbout == VDXVideoFilter::StaticAbout ? NULL : VDXStaticAboutConfigureAdapter<T::StaticAbout>;
		mpStaticConfigureProc = T::StaticConfigure == VDXVideoFilter::StaticConfigure ? NULL :VDXStaticAboutConfigureAdapter<T::StaticConfigure>;	}
This build under VS2010, but not with VS2015, it's saying it can't resolve the overload function. Well, this is part is too much ++ for me, i don't understand.

If i comment doing the following :

vdplugin.h
Code:
struct VDXPluginInfo {
...
/*
VDXShowStaticAboutProc		mpStaticAboutProc;
VDXShowStaticConfigureProc	mpStaticConfigureProc;
*/
}
videofilter.h
Code:
template<class T>
class VDXVideoFilterDefinition : public VDXFilterDefinition {
public:
	VDXVideoFilterDefinition(const char *pszAuthor, const char *pszName, const char *pszDescription) {
...
/*
		mpStaticAboutProc = T::StaticAbout == VDXVideoFilter::StaticAbout ? NULL : VDXStaticAboutConfigureAdapter<T::StaticAbout>;
		mpStaticConfigureProc = T::StaticConfigure == VDXVideoFilter::StaticConfigure ? NULL :VDXStaticAboutConfigureAdapter<T::StaticConfigure>;	
*/
}
it builds under VS2015.

If by any chance anyone has any idea...

Last edited by jpsdr; 11th August 2017 at 08:31.
jpsdr is offline   Reply With Quote
Old 10th August 2017, 23:07   #2  |  Link
shekh
Registered User
 
Join Date: Mar 2015
Posts: 364
Working code:

Code:
template<bool (*T_Routine)(VDXHWND)>
static bool VDXAPIENTRY VDXStaticAboutConfigureAdapter(VDXHWND parent) {
	return T_Routine(parent);
}
Notice asterisk instead of ampersand (I cannot explain it)
__________________
VirtualDub FilterMod
shekh is offline   Reply With Quote
Old 11th August 2017, 08:21   #3  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 1,347
wonderfull ! Thanks.
jpsdr is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 03:15.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.