Forum
    • Categories
    • Register
    • Login

    Invalid use of incomplete type vSIMDType

    Scheduled Pinned Locked Moved Bug Reports
    24 Posts 4 Posters 980 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • David HealeyD
      David Healey @iamlamprey
      last edited by

      @iamlamprey said in Invalid use of incomplete type vSIMDType:

      Clanker found it for me:

      I think it's lying to you again. This is the line in my fork and it compiles without issue

      https://github.com/davidhealey/HISE/blob/development/hi_streaming/hi_streaming/MonolithAudioFormat.cpp#L371

      Free HISE Bootcamp Full Course for beginners.
      YouTube Channel - Public HISE tutorials
      My Patreon - HISE tutorials

      iamlampreyI OrvillainO 2 Replies Last reply Reply Quote 0
      • iamlampreyI
        iamlamprey @David Healey
        last edited by

        @d-healey I'm not sure if it's lying necessarily, more likely there's multiple ways to skin a cat

        Either way it worked on my end, tested on Ubuntu LTS and the latest Mint

        1 Reply Last reply Reply Quote 0
        • OrvillainO
          Orvillain @David Healey
          last edited by

          @d-healey I think this is a Linux compiler thing. On Linux int64_t is defined as long int - whereas Windows and Mac it is defined as long long int.

          The compiler is throwing a wobbly because of that.

          I think.

          Musician - Instrument Designer - Sonic Architect - Creative Product Owner
          Crafting sound at every level. From strings to signal paths, samples to systems.

          David HealeyD 1 Reply Last reply Reply Quote 0
          • David HealeyD
            David Healey @Orvillain
            last edited by

            @Orvillain said in Invalid use of incomplete type vSIMDType:

            I think this is a Linux compiler thing.

            Linux user here

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

            OrvillainO 1 Reply Last reply Reply Quote 0
            • OrvillainO
              Orvillain @David Healey
              last edited by Orvillain

              @David-Healey said in Invalid use of incomplete type vSIMDType:

              @Orvillain said in Invalid use of incomplete type vSIMDType:

              I think this is a Linux compiler thing.

              Linux user here

              Yeah I know. You're getting the issue with the dev branch but not your fork right? Your error:

              ../../../../../hise/hi_streaming/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h:85:11:
              error: invalid use of incomplete type ‘using juce::dsp::SIMDRegister<long long int>::NativeOps = struct juce::dsp::SIMDNativeOps<long long int>’
              {aka ‘struct juce::dsp::SIMDNativeOps<long long int>’}
              

              That is telling you that SIMDRegister/SIMDNativeOps is being used incorrectly. The only thing I can think of is that it is being called with long long int, which is correct for Windows and Mac... but on Linux I think it should be called with long int - not long long int.

              I'd check that line in your fork and dev branch and make sure it is the same, if you haven't already.

              Musician - Instrument Designer - Sonic Architect - Creative Product Owner
              Crafting sound at every level. From strings to signal paths, samples to systems.

              David HealeyD 1 Reply Last reply Reply Quote 0
              • David HealeyD
                David Healey @Orvillain
                last edited by

                @Orvillain That line is in a JUCE module, we no touch those.

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                OrvillainO 1 Reply Last reply Reply Quote 0
                • OrvillainO
                  Orvillain @David Healey
                  last edited by Orvillain

                  @David-Healey Well I don't know what else to tell you: https://forum.juce.com/t/int64-t-vs-juce-int64/45358

                  As reported here - it is a typedef issue, specifically affecting Linux compiles.

                  Actually, I might have that wrong. That thread is about juce:int_64.

                  Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                  Crafting sound at every level. From strings to signal paths, samples to systems.

                  David HealeyD 1 Reply Last reply Reply Quote 0
                  • David HealeyD
                    David Healey @Orvillain
                    last edited by

                    @Orvillain That line is the same in my fork and in Christoph's so I don't think that's the cause

                    Free HISE Bootcamp Full Course for beginners.
                    YouTube Channel - Public HISE tutorials
                    My Patreon - HISE tutorials

                    1 Reply Last reply Reply Quote 0
                    • iamlampreyI
                      iamlamprey
                      last edited by

                      This SIMD stuff is quite the pest, getting similar errors on MacOS even after my "fix":

                      In file included from /Users/user/Documents/altar/DspNetworks/Binaries/Source/Main.cpp:6:
                      In file included from /Users/user/Documents/HISE/hi_dsp_library/hi_dsp_library.h:55:
                      In file included from /Users/user/Documents/HISE/hi_tools/hi_tools.h:148:
                      In file included from /Users/user/Documents/HISE/hi_dsp_library/../hi_tools/../hi_streaming/hi_streaming.h:62:
                      In file included from /Users/user/Documents/HISE/JUCE/modules/juce_dsp/juce_dsp.h:236:
                      /Users/user/Documents/HISE/hi_dsp_library/../hi_tools/../hi_streaming/../JUCE/modules/juce_dsp/containers/juce_SIMDRegister.h:85:32: error: implicit instantiation of undefined template 'juce::dsp::SIMDNativeOps<unsigned long>'
                          using vSIMDType = typename NativeOps::vSIMDType;
                      

                      And here's an old post from the man himself:

                      https://forum.juce.com/t/dsp-module-breaks-compilation-on-linux/27346/4

                      Seems like it's either a JUCE issue, or just the different behaviors of different compilers

                      David HealeyD 1 Reply Last reply Reply Quote 0
                      • David HealeyD
                        David Healey @iamlamprey
                        last edited by

                        @iamlamprey said in Invalid use of incomplete type vSIMDType:

                        Seems like it's either a JUCE issue, or just the different behaviors of different compilers

                        Which compiler are you using on MacOS? Does my fork work?

                        Free HISE Bootcamp Full Course for beginners.
                        YouTube Channel - Public HISE tutorials
                        My Patreon - HISE tutorials

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        27

                        Online

                        2.1k

                        Users

                        13.0k

                        Topics

                        112.6k

                        Posts