Cannot build Directshow Filters (1 Viewer)

Edalex

Community Plugin Dev
  • Premium Supporter
  • January 3, 2008
    2,955
    1,264
    Saratov
    Home Country
    Russian Federation Russian Federation
    Every man built c++ filters is a hero for me.
     
    Last edited:

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    Every man built c++ filters is a hero for me.
    LOL, it really shouldn't be that hard. :)

    @ears
    What version of VS are you using?
    What version of Windows are you building on?
    What SDKs have you installed?
    What env vars have you setup?
     

    Wiedmann

    Portal Pro
    June 22, 2007
    107
    28
    Home Country
    Germany Germany
    LOL, it really shouldn't be that hard. :)
    Well, I was able to build the filters (and MediaPortal) till Release_1.7.0. But as of Release_1.7.1_HotFix / Release_1.8.0 this doesn't work for me, too.


    What version of VS are you using?
    What version of Windows are you building on?
    What SDKs have you installed?
    What env vars have you setup?
    • Microsoft Visual Studio 2010 SP1
    • Windows 7 Ultimate SP1
    • SDK's:
      • Microsoft Windows SDK (v7.1) for Windows 7 and .NET Framework 4
      • Microsoft DirectX SDK (June 2010)
    • Vars:
      • WINDOWS_SDK=C:\Program Files\Microsoft SDKs\Windows\v7.1\
      • DXSDK_DIR=C:\Program Files\Microsoft DirectX SDK (June 2010)\


    Well, after reading of "DirectShowFilters_Release.log", I have replaced all occurrences of:
    Code:
    [uuid("XXX-XXX-XXX-XXX-XXX")]
    interface foo ...
    with:
    Code:
    interface __declspec(uuid("XXX-XXX-XXX-XXX-XXX"))
    foo ...

    or
    Code:
    [uuid("XXX-XXX-XXX-XXX-XXX")]
    class foo ...
    with:
    Code:
    class __declspec(uuid("XXX-XXX-XXX-XXX-XXX"))
    foo ...

    and than I was able to build the filters (and MediaPortal).
     

    Wiedmann

    Portal Pro
    June 22, 2007
    107
    28
    Home Country
    Germany Germany
    Can you build the filters in VS?
    No, following error multiple times:
    ..\mediaportal-1-release_1.8.0\directshowfilters\dvbsubtitle3\source\hdmv\ISubPic.h(49): fatal error C1001: Interner Compilerfehler.
    (Compilerdatei "msc1.cpp", Zeile 1420)

    ..\mediaportal-1-release_1.8.0\directshowfilters\mpaudiorenderer\source\MpAudioRenderer.h(55): fatal error C1001: Interner Compilerfehler.
    (Compilerdatei "msc1.cpp", Zeile 1420)

    ..\mediaportal-1-release_1.8.0\directshowfilters\mpaudioswitcher\source\StreamSwitcher.h(116): fatal error C1001: Interner Compilerfehler.
    (Compilerdatei "msc1.cpp", Zeile 1420)

    After applying the attached patch ("patch -p 1 < DirectShowFilters.patch"), I can build the filters directly in VS (Filters.sln) or with the batches in .\Build ("VS_Rebuild_Release_DirectShowFilters.bat" / "MSBUILD_Rebuild_All_MediaPortal_Release.bat").
     

    Attachments

    • DirectShowFilters.patch
      6.7 KB

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    Well all I can say is compiling works for me on XP. The only difference I can see between your setup and mine (aside from that I use XP) is VS 2010 SP1 - I'm pretty sure I haven't installed the SP. Since the "[uuid(...)]" syntax is a language feature (C++ attribute) the problem is related to the compiler - a patch, configuration, actual compiler being used. I say with 90% confidence that the code has nothing to do with the problem...

    Have you got any other versions of VS installed?
    Can you copy+paste the MP_DVB_Subtitle_3 project->configuration properties->c/c++->command line string?
    In case it helps, mine is:
    /I"F:\sdev\Code\MediaPortal\MediaPortal-1_random\DirectShowFilters\baseclasses" /I"C:\Program Files\Microsoft SDKs\Windows\v7.1\Include" /I"C:\Program Files\DirectX SDK [June 2010]\Include" /Zi /nologo /W3 /WX- /MP /O2 /Ob2 /Ot /Oy- /D "_CRT_SECURE_NO_WARNINGS" /D "NDEBUG" /D "_WIN32" /D "_VC80_UPGRADE=0x0710" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /GF- /Gm- /EHsc /MD /GS /Gy- /fp:precise /Zc:wchar_t /Zc:forScope /Fp".\obj\Release/DVBSub.pch" /Fa".\obj\Release/" /Fo".\obj\Release/" /Fd".\bin\Release/" /Gd /analyze- /errorReport:queue
     

    Wiedmann

    Portal Pro
    June 22, 2007
    107
    28
    Home Country
    Germany Germany
    Since the "[uuid(...)]" syntax is a language feature (C++ attribute) the problem is related to the compiler - a patch, configuration, actual compiler being used.
    I think so, too:
    MSDN said:
    When used in a project that does not also use ATL, specifying the uuid attribute is the same as specifying the uuid __declspec modifier.

    BTW: MPC-HC and others have also changed their code because of this problem (years ago...)...


    I say with 90% confidence that the code has nothing to do with the problem...
    It's really curious, because I can build 1.7.0, which IMHO is using the same code?

    Have you got any other versions of VS installed?
    No.

    Used "cl.exe" is Version 16.00.40219.01 (with an error in module "MSVCP100.dll").


    Can you copy+paste the MP_DVB_Subtitle_3 project->configuration properties->c/c++->command line string?
    Sure:
    Code:
    /I"..\MediaPortal-1-Release_1.8.0\DirectShowFilters\baseclasses" /I"C:\Program Files\Microsoft SDKs\Windows\v7.1\Include" /I"C:\Program Files\Microsoft DirectX SDK (June 2010)\Include" /Zi /nologo /W3 /WX- /MP /O2 /Ob2 /Ot /Oy- /D "_CRT_SECURE_NO_WARNINGS" /D "NDEBUG" /D "_WIN32" /D "_VC80_UPGRADE=0x0710" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /GF- /Gm- /EHsc /MD /GS /Gy- /fp:precise /Zc:wchar_t /Zc:forScope /Fp".\obj\Release/DVBSub.pch" /Fa".\obj\Release/" /Fo".\obj\Release/" /Fd".\bin\Release/" /Gd /analyze- /errorReport:queue
     

    Holzi

    Super Moderator
  • Team MediaPortal
  • April 21, 2010
    7,934
    2,235
    Ba-Wü
    Home Country
    Germany Germany

    Users who are viewing this thread

    Top Bottom